www-thermferm/jqwidgets/jqxlistbox.js

Sun, 07 Jul 2019 14:31:10 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 07 Jul 2019 14:31:10 +0200
branch
stable
changeset 603
fcff55324b84
parent 511
2d1d43c3a2c2
child 617
b216f9d4b917
permissions
-rw-r--r--

Merged fix from default

/*
jQWidgets v4.5.2 (2017-May)
Copyright (c) 2011-2017 jQWidgets.
License: http://jqwidgets.com/license/
*/
!function(a){a.jqx.jqxWidget("jqxListBox","",{}),a.extend(a.jqx._jqxListBox.prototype,{defineInstance:function(){var b={disabled:!1,width:null,height:null,items:new Array,multiple:!1,selectedIndex:-1,selectedIndexes:new Array,source:null,scrollBarSize:a.jqx.utilities.scrollBarSize,enableHover:!0,enableSelection:!0,visualItems:new Array,groups:new Array,equalItemsWidth:!0,itemHeight:-1,visibleItems:new Array,emptyGroupText:"Group",checkboxes:!1,hasThreeStates:!1,autoHeight:!1,autoItemsHeight:!1,roundedcorners:!0,touchMode:"auto",displayMember:"",groupMember:"",valueMember:"",searchMember:"",searchMode:"startswithignorecase",incrementalSearch:!0,incrementalSearchDelay:1e3,incrementalSearchKeyDownDelay:300,allowDrag:!1,allowDrop:!0,dropAction:"default",touchModeStyle:"auto",keyboardNavigation:!0,enableMouseWheel:!0,multipleextended:!1,selectedValues:new Array,emptyString:"",rtl:!1,rendered:null,renderer:null,dragStart:null,dragEnd:null,focusable:!0,ready:null,_checkForHiddenParent:!0,autoBind:!0,_renderOnDemand:!1,filterable:!1,filterHeight:27,filterPlaceHolder:"Looking for",filterDelay:100,filterChange:null,aria:{"aria-disabled":{name:"disabled",type:"boolean"}},events:["select","unselect","change","checkChange","dragStart","dragEnd","bindingComplete","itemAdd","itemRemove","itemUpdate"]};return this===a.jqx._jqxListBox.prototype?b:(a.extend(!0,this,b),b)},createInstance:function(b){var c=this;15!=a.jqx.utilities.scrollBarSize&&(c.scrollBarSize=a.jqx.utilities.scrollBarSize),null==c.width&&(c.width=200),null==c.height&&(c.height=200),c.renderListBox();var d=c;a.jqx.utilities.resize(c.host,function(){d._updateSize()},!1,c._checkForHiddenParent)},resize:function(a,b){this.width=a,this.height=b,this._updateSize()},render:function(){this.renderListBox(),this.refresh()},renderListBox:function(){var b=this,c=b.element.nodeName.toLowerCase();if("select"==c||"ul"==c||"ol"==c){b.field=b.element,b.field.className&&(b._className=b.field.className);var d={title:b.field.title};b.field.id.length?d.id=b.field.id.replace(/[^\w]/g,"_")+"_jqxListBox":d.id=a.jqx.utilities.createId()+"_jqxListBox";var e=a("<div></div>",d);b.width||(b.width=a(b.field).width()),b.height||(b.height=a(b.field).outerHeight()),b.element.style.cssText=b.field.style.cssText,a(b.field).hide().after(e);var f=b.host.data();if(b.host=e,b.host.data(f),b.element=e[0],b.element.id=b.field.id,b.field.id=d.id,b._className&&(b.host.addClass(b._className),a(b.field).removeClass(b._className)),b.field.tabIndex){var g=b.field.tabIndex;b.field.tabIndex=-1,b.element.tabIndex=g}}else if(b.host.find("li").length>0||b.host.find("option").length>0){var h=a.jqx.parseSourceTag(that.element);b.source=h.items}b.element.innerHTML="";var b=b,i=b.element.className;i+=" "+b.toThemeProperty("jqx-listbox"),i+=" "+b.toThemeProperty("jqx-reset"),i+=" "+b.toThemeProperty("jqx-rc-all"),i+=" "+b.toThemeProperty("jqx-widget"),i+=" "+b.toThemeProperty("jqx-widget-content"),b.element.className=i;var j=!1;null!=b.width&&b.width.toString().indexOf("%")!=-1&&(b.host.width(b.width),j=!0),null!=b.height&&b.height.toString().indexOf("%")!=-1&&(b.host.height(b.height),0==b.host.height()&&b.host.height(200),j=!0),null!=b.width&&b.width.toString().indexOf("px")!=-1?b.host.width(b.width):void 0==b.width||isNaN(b.width)||(b.element.style.width=parseInt(b.width)+"px"),null!=b.height&&b.height.toString().indexOf("px")!=-1?b.host.height(b.height):void 0==b.height||isNaN(b.height)||(b.element.style.height=parseInt(b.height)+"px"),b.multiple||b.multipleextended||b.checkboxes?a.jqx.aria(b,"aria-multiselectable",!0):a.jqx.aria(b,"aria-multiselectable",!1);var k="<div style='-webkit-appearance: none; background: transparent; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div style='-webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='filter"+b.element.id+"' style='display: none; visibility: inherit; align:left; valign:top; left: 0px; top: 0px; position: absolute;'><input style='position: absolute;'/></div><div id='listBoxContent' style='-webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; overflow: hidden; margin: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='verticalScrollBar"+b.element.id+"' style='visibility: inherit; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='horizontalScrollBar"+b.element.id+"' style='visibility: inherit; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'/></div></div>";b.host.attr("role","listbox"),b.element.innerHTML=k,b._checkForHiddenParent&&(b._addInput(),b.host.attr("tabIndex")||b.host.attr("tabIndex",1)),b.filter=a(b.element.firstChild.firstChild.firstChild),b.filterInput=a(b.filter[0].firstChild),b.filterInput.attr("placeholder",b.filterPlaceHolder),b.filterInput.addClass(b.toThemeProperty("jqx-widget jqx-listbox-filter-input jqx-input jqx-rc-all")),b.addHandler(b.filterInput,"keyup.textchange",function(a){13==a.keyCode?b._search(a):b.filterDelay>0&&(b._filterTimer&&clearTimeout(b._filterTimer),b._filterTimer=setTimeout(function(){b._search(a)},b.filterDelay)),a.stopPropagation()});var l=a(b.element.firstChild.firstChild.firstChild.nextSibling.nextSibling);if(!b.host.jqxButton)throw new Error("jqxListBox: Missing reference to jqxbuttons.js.");if(!l.jqxScrollBar)throw new Error("jqxListBox: Missing reference to jqxscrollbar.js.");var m=parseInt(b.host.height())/2;0==m&&(m=10),b.vScrollBar=l.jqxScrollBar({_initialLayout:!0,vertical:!0,rtl:b.rtl,theme:b.theme,touchMode:b.touchMode,largestep:m});var n=a(b.element.firstChild.firstChild.firstChild.nextSibling.nextSibling.nextSibling);if(b.hScrollBar=n.jqxScrollBar({_initialLayout:!0,vertical:!1,rtl:b.rtl,touchMode:b.touchMode,theme:b.theme}),b.content=a(b.element.firstChild.firstChild.firstChild.nextSibling),b.content[0].id="listBoxContent"+b.element.id,b.bottomRight=a(b.element.firstChild.firstChild.firstChild.nextSibling.nextSibling.nextSibling.nextSibling).addClass(b.toThemeProperty("jqx-listbox-bottomright")).addClass(b.toThemeProperty("jqx-scrollbar-state-normal")),b.bottomRight[0].id="bottomRight"+b.element.id,b.vScrollInstance=a.data(b.vScrollBar[0],"jqxScrollBar").instance,b.hScrollInstance=a.data(b.hScrollBar[0],"jqxScrollBar").instance,b.isTouchDevice()&&!(a.jqx.browser.msie&&a.jqx.browser.version<9)){var o=a("<div class='overlay' unselectable='on' style='z-index: 99; -webkit-appearance: none; border: none; background: black; opacity: 0.01; outline: none; border: none; padding: 0px; overflow: hidden; margin: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div>");b.content.parent().append(o),b.overlayContent=b.host.find(".overlay"),b.filterable&&b.overlayContent.css("top","30px")}b._updateTouchScrolling(),b.host.addClass("jqx-disableselect"),b.host.jqxDragDrop&&jqxListBoxDragDrop()},_highlight:function(a,b){var c=b.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return a.replace(new RegExp("("+c+")","ig"),function(a,b){return"<b>"+b+"</b>"})},_addInput:function(){var b=this.host.attr("name");b&&this.host.attr("name",""),this.input=a("<input type='hidden'/>"),this.host.append(this.input),this.input.attr("name",b)},_updateTouchScrolling:function(){var b=this;if(this.isTouchDevice()){b.enableHover=!1;var c=this.overlayContent?this.overlayContent:this.content;this.removeHandler(a(c),a.jqx.mobile.getTouchEventName("touchstart")+".touchScroll"),this.removeHandler(a(c),a.jqx.mobile.getTouchEventName("touchmove")+".touchScroll"),this.removeHandler(a(c),a.jqx.mobile.getTouchEventName("touchend")+".touchScroll"),this.removeHandler(a(c),"touchcancel.touchScroll"),a.jqx.mobile.touchScroll(c,b.vScrollInstance.max,function(a,c){if(null!=c&&"hidden"!=b.vScrollBar.css("visibility")){b.vScrollInstance.value;b.vScrollInstance.setPosition(c),b._lastScroll=new Date}if(null!=a&&"hidden"!=b.hScrollBar.css("visibility")){b.hScrollInstance.value;b.hScrollInstance.setPosition(a),b._lastScroll=new Date}},this.element.id,this.hScrollBar,this.vScrollBar),"visible"!=b.vScrollBar.css("visibility")&&"visible"!=b.hScrollBar.css("visibility")?a.jqx.mobile.setTouchScroll(!1,this.element.id):a.jqx.mobile.setTouchScroll(!0,this.element.id),this._arrange()}},isTouchDevice:function(){var b=a.jqx.mobile.isTouchDevice();if(1==this.touchMode){if(this.touchDevice)return!0;if(a.jqx.browser.msie&&a.jqx.browser.version<9)return!1;this.touchDevice=!0,b=!0,a.jqx.mobile.setMobileSimulator(this.element)}else 0==this.touchMode&&(b=!1);return b&&0!=this.touchModeStyle&&(this.scrollBarSize=a.jqx.utilities.touchScrollBarSize),b&&this.host.addClass(this.toThemeProperty("jqx-touch")),b},beginUpdate:function(){this.updatingListBox=!0},endUpdate:function(){this.updatingListBox=!1,this._addItems(),this._renderItems()},beginUpdateLayout:function(){this.updating=!0},resumeUpdateLayout:function(){this.updating=!1,this.vScrollInstance.value=0,this._render(!1)},propertiesChangedHandler:function(a,b,c){c.width&&c.height&&2==Object.keys(c).length&&(a._cachedItemHtml=new Array,a.refresh())},propertyChangedHandler:function(b,c,d,e){if(void 0!=this.isInitialized&&0!=this.isInitialized&&d!=e&&!(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&2==Object.keys(b.batchUpdate).length)){if("_renderOnDemand"==c&&(b._render(!1,!0),b.selectedIndex!=-1)){var f=b.selectedIndex;b.selectedIndex=-1,b._stopEvents=!0,b.selectIndex(f,!1,!0),b.selectedIndex==-1&&(b.selectedIndex=f),b._stopEvents=!1}if("filterable"==c&&b.refresh(),"filterHeight"==c&&b._arrange(),"filterPlaceHolder"==c&&b.filterInput.attr("placeholder",e),"renderer"==c&&(b._cachedItemHtml=new Array,b.refresh()),"itemHeight"==c&&b.refresh(),"source"!=c&&"checkboxes"!=c||(null==e&&d&&d.unbindBindingUpdate&&(d.unbindBindingUpdate(b.element.id),d.unbindDownloadComplete(b.element.id)),b.clearSelection(),b.refresh()),"scrollBarSize"!=c&&"equalItemsWidth"!=c||e!=d&&b._updatescrollbars(),"disabled"==c&&(b._renderItems(),b.vScrollBar.jqxScrollBar({disabled:e}),b.hScrollBar.jqxScrollBar({disabled:e})),"touchMode"==c||"rtl"==c){if(b._removeHandlers(),b.vScrollBar.jqxScrollBar({touchMode:e}),b.hScrollBar.jqxScrollBar({touchMode:e}),"touchMode"==c&&!(a.jqx.browser.msie&&a.jqx.browser.version<9)){var g=a("<div class='overlay' unselectable='on' style='z-index: 99; -webkit-appearance: none; border: none; background: black; opacity: 0.01; outline: none; border: none; padding: 0px; overflow: hidden; margin: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div>");b.content.parent().append(g),b.overlayContent=b.host.find(".overlay")}b.filterable&&b.filterInput&&("rtl"==c&&e?b.filterInput.addClass(b.toThemeProperty("jqx-rtl")):"rtl"!=c||e||b.filterInput.removeClass(b.toThemeProperty("jqx-rtl")),b._arrange()),b._updateTouchScrolling(),b._addHandlers(),b._render(!1)}if(this.updating||"width"!=c&&"height"!=c||b._updateSize(),"theme"==c&&d!=e&&(b.hScrollBar.jqxScrollBar({theme:b.theme}),b.vScrollBar.jqxScrollBar({theme:b.theme}),b.host.removeClass(),b.host.addClass(b.toThemeProperty("jqx-listbox")),b.host.addClass(b.toThemeProperty("jqx-widget")),b.host.addClass(b.toThemeProperty("jqx-widget-content")),b.host.addClass(b.toThemeProperty("jqx-reset")),b.host.addClass(b.toThemeProperty("jqx-rc-all")),b.refresh()),"selectedIndex"==c&&(b.clearSelection(),b.selectIndex(e,!0)),"displayMember"==c||"valueMember"==c){if(d!=e){var h=b.selectedIndex;b.refresh(),b.selectedIndex=h,b.selectedIndexes[h]=h}b._renderItems()}"autoHeight"==c&&(d!=e?b._render(!1):(b._updatescrollbars(),b._renderItems())),b._checkForHiddenParent&&a.jqx.isHidden(b.host)&&a.jqx.utilities.resize(this.host,function(){b._updateSize()},!1,b._checkForHiddenParent)}},loadFromSelect:function(b){if(null!=b){var c="#"+b,d=a(c);if(d.length>0){var e=a.jqx.parseSourceTag(d[0]),f=e.items,g=e.index;this.source=f,this.fromSelect=!0,this.clearSelection(),this.selectedIndex=g,this.selectedIndexes[this.selectedIndex]=this.selectedIndex,this.refresh()}}},invalidate:function(){this._cachedItemHtml=[],this._renderItems(),this.virtualSize=null,this._updateSize()},refresh:function(b){var c=this;if(void 0!=this.vScrollBar){this._cachedItemHtml=[],this.visibleItems=new Array;var d=function(a){if(1==a&&c.selectedIndex!=-1){var b=c.selectedIndex;c.selectedIndex=-1,c._stopEvents=!0,c.selectIndex(b,!1,!0),c.selectedIndex==-1&&(c.selectedIndex=b),c._stopEvents=!1}};if(null!=this.itemswrapper&&(this.itemswrapper.remove(),this.itemswrapper=null),a.jqx.dataAdapter&&null!=this.source&&this.source._source)return this.databind(this.source,b),void d(b);(this.autoBind||!this.autoBind&&!b)&&(this.field&&this.loadSelectTag(),this.items=this.loadItems(this.source)),this._render(!1,1==b),d(b),this._raiseEvent("6")}},loadSelectTag:function(){var b=a.jqx.parseSourceTag(this.field);this.source=b.items,this.selectedIndex==-1&&(this.selectedIndex=b.index)},_render:function(a,b){return this._renderOnDemand?(this.visibleItems=new Array,this.renderedVisibleItems=new Array,void this._renderItems()):(this._addItems(),this._renderItems(),this.vScrollInstance.setPosition(0),this._cachedItemHtml=new Array,(void 0==a||a)&&void 0!=this.items&&null!=this.items&&this.selectedIndex>=0&&this.selectedIndex<this.items.length&&this.selectIndex(this.selectedIndex,!0,!0,!0),this.allowDrag&&this._enableDragDrop&&(this._enableDragDrop(),this.isTouchDevice())?(this._removeHandlers(),this.overlayContent&&(this.overlayContent.remove(),this.overlayContent=null),this._updateTouchScrolling(),void this._addHandlers()):(this._updateTouchScrolling(),this.rendered&&this.rendered(),void(this.ready&&this.ready())))},_hitTest:function(a,b){this.filterable&&(b-=this.filterHeight,b<0&&(b=0));var c=parseInt(this.vScrollInstance.value),d=this._searchFirstVisibleIndex(b+c,this.renderedVisibleItems);if(void 0!=this.renderedVisibleItems[d]&&this.renderedVisibleItems[d].isGroup)return null;if(this.renderedVisibleItems.length>0){var e=this.renderedVisibleItems[this.renderedVisibleItems.length-1];if(e.height+e.top<b+c)return null}return d=this._searchFirstVisibleIndex(b+c),this.visibleItems[d]},_searchFirstVisibleIndex:function(a,b){void 0==a&&(a=parseInt(this.vScrollInstance.value));var c=0;void 0!=b&&null!=b||(b=this.visibleItems);for(var d=b.length;c<=d;){mid=parseInt((c+d)/2);var e=b[mid];if(void 0==e)break;if(e.initialTop>a&&e.initialTop+e.height>a)d=mid-1;else{if(!(e.initialTop<a&&e.initialTop+e.height<=a))return mid;c=mid+1}}return 0},_renderItems:function(){if(void 0==this.items||0==this.items.length)return void(this.visibleItems=new Array);if(1!=this.updatingListBox){var b=this.isTouchDevice(),c=this.vScrollInstance,d=this.hScrollInstance,e=parseInt(c.value),f=parseInt(d.value);this.rtl&&"hidden"!=this.hScrollBar[0].style.visibility&&(f=d.max-f);var g=(this.items.length,this.host.width(),parseInt(this.content[0].style.width)),h=g+parseInt(d.max),i=parseInt(this.vScrollBar[0].style.width)+2;"hidden"==this.vScrollBar[0].style.visibility&&(i=0),"visible"!=this.hScrollBar[0].style.visibility&&(h=g);var j=(this._getVirtualItemsCount(),new Array),k=0,l=parseInt(this.element.style.height)+2;this.element.style.height.indexOf("%")!=-1&&(l=this.host.outerHeight()),isNaN(l)&&(l=0);var m=0,n=0,o=0;if(0==c.value||0==this.visibleItems.length)for(var p=0;p<this.items.length;p++){var q=this.items[p];if(q.visible){q.top=-e,q.initialTop=-e,!q.isGroup&&q.visible&&(this.visibleItems[n++]=q,q.visibleIndex=n-1),this.renderedVisibleItems[o++]=q,q.left=-f;var r=q.top+q.height;r>=0&&q.top-q.height<=l&&(j[k++]={index:p,item:q}),e-=q.height,e--}}var s=e>0?this._searchFirstVisibleIndex(this.vScrollInstance.value,this.renderedVisibleItems):0,t=0;k=0;for(var u=this.vScrollInstance.value,v=0;t<100+l;){var q=this.renderedVisibleItems[s];if(void 0==q)break;if(q.visible){q.left=-f;var r=q.top+q.height-u;r>=0&&q.initialTop-u-q.height<=2*l&&(j[k++]={index:s,item:q})}if(s++,q.visible&&(t+=q.initialTop-u+q.height-t),v++,v>this.items.length-1)break}if(!this._renderOnDemand)for(var w=this.toThemeProperty("jqx-listitem-state-normal")+" "+this.toThemeProperty("jqx-item"),x=this.toThemeProperty("jqx-listitem-state-group"),y=this.toThemeProperty("jqx-listitem-state-disabled")+" "+this.toThemeProperty("jqx-fill-state-disabled"),z=0,A=this,p=0;p<this.visualItems.length;p++){var B=this.visualItems[p],C=function(){var a=B[0].firstChild;if(A.checkboxes&&(a=B[0].lastChild),null!=a&&(a.style.visibility="hidden",a.className=""),A.checkboxes){var b=B.find(".chkbox");b.css({visibility:"hidden"})}};if(p<j.length){var q=j[p].item;if(q.initialTop-u>=l){C();continue}var D=a(B[0].firstChild);if(this.checkboxes&&(D=a(B[0].lastChild)),0==D.length)continue;if(null==D[0])continue;D[0].className="",D[0].style.display="block",D[0].style.visibility="inherit";var E="";if(E=!q.isGroup&&!this.selectedIndexes[q.index]>=0?w:x,(q.disabled||this.disabled)&&(E+=" "+y),this.roundedcorners&&(E+=" "+this.toThemeProperty("jqx-rc-all")),b&&(E+=" "+this.toThemeProperty("jqx-listitem-state-normal-touch")),D[0].className=E,this.renderer)if(q.key||(q.key=this.generatekey()),this._cachedItemHtml||(this._cachedItemHtml=new Array),this._cachedItemHtml[q.key])D[0].innerHTML!=this._cachedItemHtml[q.key]&&(D[0].innerHTML=this._cachedItemHtml[q.key]);else{var F=this.renderer(q.index,q.label,q.value);D[0].innerHTML=F,this._cachedItemHtml[q.key]=D[0].innerHTML}else{if(this.itemHeight!==-1){var G=2+2*parseInt(D.css("padding-top"));D[0].style.lineHeight=q.height-G+"px",D.css("vertical-align","middle")}null!=q.html&&q.html.toString().length>0?D[0].innerHTML=q.html:null!=q.label||null!=q.value?null!=q.label?(D[0].innerHTML!==q.label&&(D[0].innerHTML=q.label),""==a.trim(q.label)&&(D[0].innerHTML=this.emptyString,""==this.emptyString&&(D[0].style.height=q.height-8+"px")),this.incrementalSearch||q.disabled||void 0!=this.searchString&&""!=this.searchString&&(D[0].innerHTML=this._highlight(q.label.toString(),this.searchString))):null===q.label?(D[0].innerHTML=this.emptyString,""==this.emptyString&&(D[0].style.height=q.height-8+"px")):D[0].innerHTML!==q.value?D[0].innerHTML=q.value:""==q.label&&(D[0].innerHTML=" "):""!=q.label&&null!=q.label||(D[0].innerHTML="",D[0].style.height=q.height-8+"px")}if(B[0].style.left=q.left+"px",B[0].style.top=q.initialTop-u+"px",q.element=D[0],q.title&&(D[0].title=q.title),this.equalItemsWidth&&!q.isGroup){if(0==m){var H=parseInt(h),I=parseInt(D.outerWidth())-parseInt(D.width());H-=I;var J=1;J=null!=J?parseInt(J):0,H-=2*J,m=H,this.checkboxes&&"hidden"==this.hScrollBar[0].style.visibility&&(m-=18)}g>this.virtualSize.width?(D[0].style.width=m+"px",q.width=m):(D[0].style.width=-4+this.virtualSize.width+"px",q.width=this.virtualSize.width-4)}else D.width()<this.host.width()&&D.width(this.host.width()-2);if(this.rtl&&(D[0].style.textAlign="right"),this.autoItemsHeight&&(D[0].style.whiteSpace="pre-line",D.width(m),q.width=m),z=0,this.checkboxes&&!q.isGroup){0==z&&(z=(q.height-16)/2,z++);var K=a(B.children()[0]);K[0].item=q,this.rtl?"0px"!=D[0].style.left&&(D[0].style.left="0px"):"18px"!=D[0].style.left&&(D[0].style.left="18px"),this.rtl&&K.css("left",8+q.width+"px"),K[0].style.top=z+"px",K[0].style.display="block",K[0].style.visibility="inherit";var L=q.checked,M=q.checked?" "+this.toThemeProperty("jqx-checkbox-check-checked"):"";K[0].firstChild&&K[0].firstChild.firstChild&&K[0].firstChild.firstChild.firstChild&&K[0].firstChild.firstChild&&(L?K[0].firstChild.firstChild.firstChild.className=M:L===!1?K[0].firstChild.firstChild.firstChild.className="":null===L&&(K[0].firstChild.firstChild.firstChild.className=this.toThemeProperty("jqx-checkbox-check-indeterminate"))),a.jqx.ariaEnabled&&(L?B[0].setAttribute("aria-selected",!0):B[0].removeAttribute("aria-selected"))}else if(this.checkboxes){var K=a(B.children()[0]);K.css({display:"none",visibility:"inherit"})}!q.disabled&&(!this.filterable&&this.selectedIndexes[q.visibleIndex]>=0||q.selected&&this.filterable)?(D.addClass(this.toThemeProperty("jqx-listitem-state-selected")),D.addClass(this.toThemeProperty("jqx-fill-state-pressed")),a.jqx.ariaEnabled&&(B[0].setAttribute("aria-selected",!0),this._activeElement=B[0])):this.checkboxes||a.jqx.ariaEnabled&&B[0].removeAttribute("aria-selected")}else C()}}},generatekey:function(){var a=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)};return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()},_calculateVirtualSize:function(b){if(!this._renderOnDemand){var c=0,d=2,e=0,f=document.createElement("span");this.equalItemsWidth&&a(f).css("float","left"),f.style.whiteSpace="pre";var g=0,h=void 0===b?this.host.outerHeight():b+2;document.body.appendChild(f);var i=this.items.length,j=this.host.width();if(this.autoItemsHeight&&(j-=10,"hidden"!=this.vScrollBar.css("visibility")&&(j-=20)),this.autoItemsHeight||this.renderer||this.groups.length>=1||i>0&&null!=this.items[0].html&&""!=this.items[0].html)for(var e=0;e<i;e++){var k=this.items[e];if((!k.isGroup||""!=k.label||""!=k.html)&&k.visible){var l="";if(l+=k.isGroup?this.toThemeProperty("jqx-listitem-state-group jqx-rc-all"):this.toThemeProperty("jqx-widget jqx-listitem-state-normal jqx-rc-all"),l+=" "+this.toThemeProperty("jqx-fill-state-normal"),this.isTouchDevice()&&(l+=" "+this.toThemeProperty("jqx-touch")),f.className=l,this.autoItemsHeight){f.style.whiteSpace="pre-line";var m=this.checkboxes?-20:0;f.style.width=m+j+"px"}if(this.renderer){var n=this.renderer(k.index,k.label,k.value);f.innerHTML=n}else null!=k.html&&k.html.toString().length>0?f.innerHTML=k.html:null==k.label&&null==k.value||(null!=k.label?(f.innerHTML=k.label,""==k.label&&(f.innerHTML="Empty")):f.innerHTML=k.value);var o=f.offsetHeight,p=f.offsetWidth;this.itemHeight>-1&&(o=this.itemHeight),k.height=o,k.width=p,o++,d+=o,c=Math.max(c,p),d<=h&&g++}}else{for(var d=0,q=0,r="",s=0,t=0,u=-1,e=0;e<i;e++){var k=this.items[e];if((!k.isGroup||""!=k.label||""!=k.html)&&k.visible){u++;var l="";if(0==u){if(l+=this.toThemeProperty("jqx-listitem-state-normal jqx-rc-all"),l+=" "+this.toThemeProperty("jqx-fill-state-normal"),l+=" "+this.toThemeProperty("jqx-widget"),l+=" "+this.toThemeProperty("jqx-listbox"),l+=" "+this.toThemeProperty("jqx-widget-content"),this.isTouchDevice()&&(l+=" "+this.toThemeProperty("jqx-touch"),l+=" "+this.toThemeProperty("jqx-listitem-state-normal-touch")),f.className=l,this.autoItemsHeight){f.style.whiteSpace="pre-line";var m=this.checkboxes?-20:0;f.style.width=m+j+"px"}null==k.html||""==k.label||null==k.label?f.innerHTML="Item":null!=k.html&&k.html.toString().length>0?f.innerHTML=k.html:null==k.label&&null==k.value||(null!=k.label?null!=k.label.toString().match(new RegExp("\\w"))||null!=k.label.toString().match(new RegExp("\\d"))?f.innerHTML=k.label:f.innerHTML="Item":f.innerHTML=k.value);var o=1+f.offsetHeight;this.itemHeight>-1&&(o=this.itemHeight),q=o}void 0!=s&&(t=s),null!=k.html&&k.html.toString().length>0?(s=Math.max(s,k.html.toString().length),t!=s&&(r=k.html)):null!=k.label?(s=Math.max(s,k.label.length),t!=s&&(r=k.label)):null!=k.value&&(s=Math.max(s,k.value.length),t!=s&&(r=k.value)),k.height=q,d+=q,d++,d<=h&&g++}}f.innerHTML=r,c=f.offsetWidth}return d+=2,g<10&&(g=10),this.filterable&&(d+=this.filterHeight),f.parentNode.removeChild(f),{width:c,height:d,itemsPerPage:g}}},_getVirtualItemsCount:function(){if(0==this.virtualItemsCount){var a=parseInt(this.host.height())/5;return a>this.items.length&&(a=this.items.length),a}return this.virtualItemsCount},_addItems:function(b){if(!this._renderOnDemand){var c=this;if(1!=c.updatingListBox){if(void 0==c.items||0==c.items.length)return c.virtualSize={width:0,height:0,itemsPerPage:0},c._updatescrollbars(),c.renderedVisibleItems=new Array,void(c.itemswrapper&&c.itemswrapper.children().remove());var d=c.host.height();if(0==b){var e=c._calculateVirtualSize(d),f=2*e.itemsPerPage;c.autoHeight&&(f=c.items.length),c.virtualItemsCount=Math.min(f,c.items.length);e.width;return c.virtualSize=e,void c._updatescrollbars()}var g=this,h=0;c.visibleItems=new Array,c.renderedVisibleItems=new Array,c._removeHandlers(),c.allowDrag&&c._enableDragDrop&&(c.itemswrapper=null),null==c.itemswrapper&&(c.content[0].innerHTML="",c.itemswrapper=a('<div style="outline: 0 none; overflow:hidden; width:100%; position: relative;"></div>'),c.itemswrapper[0].style.height=2*d+"px",c.content[0].appendChild(c.itemswrapper[0]));var e=c._calculateVirtualSize(d),f=2*e.itemsPerPage;c.autoHeight&&(f=c.items.length),c.virtualItemsCount=Math.min(f,c.items.length);var c=this;e.width;c.virtualSize=e;var i=Math.max(c.host.width(),17+e.width);c.itemswrapper[0].style.width=i+"px";for(var j=0,k="",l=a.jqx.browser.msie&&a.jqx.browser.version<9,m=l?' unselectable="on"':"",n=j;n<c.virtualItemsCount;n++){var o=c.items[n],p="listitem"+n+c.element.id;if(k+="<div"+m+" role='option' id='"+p+"' class='jqx-listitem-element'>",c.checkboxes){k+='<div style="background-color: transparent; padding: 0; margin: 0; position: absolute; float: left; width: 16px; height: 16px;" class="chkbox">';var q='<div class="'+c.toThemeProperty("jqx-checkbox-default")+" "+c.toThemeProperty("jqx-fill-state-normal")+" "+c.toThemeProperty("jqx-rc-all")+'"><div style="cursor: pointer; width: 13px; height: 13px;">',r=o.checked?" "+c.toThemeProperty("jqx-checkbox-check-checked"):"";q+='<span style="width: 13px; height: 13px;" class="checkBoxCheck'+r+'"></span>',q+="</div></div>",k+=q,k+="</div>"}k+="<span"+m+" style='white-space: pre; -ms-touch-action: none;'></span></div>"}g.WinJS?c.itemswrapper.html(k):c.itemswrapper[0].innerHTML=k;for(var s=c.itemswrapper.children(),n=j;n<c.virtualItemsCount;n++){var o=c.items[n],t=a(s[n]);if(c.allowDrag&&c._enableDragDrop&&t.addClass("draggable"),c.checkboxes){a(t.children()[0]);t.css("float","left");var u=a(t[0].firstChild);u.css("float","left")}t[0].style.height=o.height+"px",t[0].style.top=h+"px",h+=o.height+1,c.visualItems[n]=t}if(c._addHandlers(),c._updatescrollbars(),c.autoItemsHeight){var e=c._calculateVirtualSize(d),f=2*e.itemsPerPage;c.autoHeight&&(f=c.items.length),c.virtualItemsCount=Math.min(f,c.items.length);var c=this;e.width;c.virtualSize=e,c._updatescrollbars()}a.jqx.browser.msie&&a.jqx.browser.version<8&&(c.host.attr("hideFocus",!0),c.host.find("div").attr("hideFocus",!0))}}},_updatescrollbars:function(){var b=this;if(b.virtualSize){var c=b.virtualSize.height,d=b.virtualSize.width,e=b.vScrollInstance,f=b.hScrollInstance;b._arrange(!1);var g=!1,h=b.host.outerWidth(),i=b.host.outerHeight(),j=0;if(d>h&&(j=b.hScrollBar.outerHeight()+2),c+j>i){var k=e.max;e.max=2+parseInt(c)+j-parseInt(i-2),"inherit"!=b.vScrollBar[0].style.visibility&&(b.vScrollBar[0].style.visibility="inherit",g=!0),k!=e.max&&e._arrange()}else"hidden"!=b.vScrollBar[0].style.visibility&&(b.vScrollBar[0].style.visibility="hidden",g=!0,e.setPosition(0));var l=0;"hidden"!=b.vScrollBar[0].style.visibility&&(l=b.scrollBarSize+6);var m=b.checkboxes?20:0;if(b.autoItemsHeight)b.hScrollBar[0].style.visibility="hidden";else if(d>=h-l-m){var n=f.max;"inherit"==b.vScrollBar[0].style.visibility?f.max=m+l+parseInt(d)-b.host.width()+4:f.max=m+parseInt(d)-b.host.width()+6,"inherit"!=b.hScrollBar[0].style.visibility&&(b.hScrollBar[0].style.visibility="inherit",g=!0),n!=f.max&&f._arrange(),"inherit"==b.vScrollBar[0].style.visibility&&(e.max=2+parseInt(c)+b.hScrollBar.outerHeight()+2-parseInt(b.host.height()))}else"hidden"!=b.hScrollBar[0].style.visibility&&(b.hScrollBar[0].style.visibility="hidden",g=!0);f.setPosition(0),g&&b._arrange(),b.itemswrapper&&(b.itemswrapper[0].style.width=Math.max(0,Math.max(h-2,17+d))+"px",b.itemswrapper[0].style.height=Math.max(0,2*i)+"px");var o=b.isTouchDevice();o&&("visible"!=b.vScrollBar.css("visibility")&&"visible"!=b.hScrollBar.css("visibility")?a.jqx.mobile.setTouchScroll(!1,b.element.id):a.jqx.mobile.setTouchScroll(!0,b.element.id))}},clear:function(){this.source=null,this.clearSelection(),this.refresh()},clearSelection:function(a){for(var b=0;b<this.selectedIndexes.length;b++)this.selectedIndexes[b]&&this.selectedIndexes[b]!=-1&&this._raiseEvent("1",{index:b,type:"api",item:this.getVisibleItem(b),originalEvent:null}),this.selectedIndexes[b]=-1;this.selectedIndex=-1,this.selectedValue=null,this.selectedValues=new Array,0!=a&&this._renderItems()},unselectIndex:function(a,b){if(!isNaN(a)){this.selectedIndexes[a]=-1;for(var c=!1,d=0;d<this.selectedIndexes.length;d++){var e=this.selectedIndexes[d];e!=-1&&void 0!=e&&(c=!0)}if(!c){this.selectedValue=null,this.selectedIndex=-1;var f=this.getVisibleItem(a);f&&this.selectedValues[f.value]&&(this.selectedValues[f.value]=null)}void 0!=b&&1!=b||(this._renderItems(),this._raiseEvent("1",{index:a,type:"api",item:this.getVisibleItem(a),originalEvent:null})),this._updateInputSelection(),this._raiseEvent("2",{index:a,type:"api",item:this.getItem(a)})}},getInfo:function(){var a=this,b=this.getItems(),c=this.getVisibleItems(),d=function(){var b=a.vScrollInstance.value;a.filterable&&(b-=a.filterHeight);for(var d=new Array,e=0;e<c.length;e++){var f=c[e];if(f){var g=f.initialTop,h=f.height,i=!0;(g+h-b<0||g-b>=a.host.height())&&(i=!1),i&&d.push(f)}}return d}();return{items:b,visibleItems:c,viewItems:d}},getItem:function(b){if(b==-1||isNaN(b)||"string"==typeof b)return b===-1?null:this.getItemByValue(b);var c=null;a.each(this.items,function(){if(this.index==b)return c=this,!1});return c},getVisibleItem:function(a){return a==-1||isNaN(a)||"string"==typeof a?a===-1?null:this.getItemByValue(a):this.visibleItems[a]},getVisibleItems:function(){return this.visibleItems},checkIndex:function(b,c,d){if(this.checkboxes&&!isNaN(b)&&!(b<0||b>=this.visibleItems.length||null!=this.visibleItems[b]&&this.visibleItems[b].disabled||this.disabled)){var e=this.getItem(b);if(this.groups.length>0||this.filterable)var e=this.getVisibleItem(b);if(null!=e){a(e.checkBoxElement);e.checked=!0,void 0!=c&&1!=c||this._updateCheckedItems()}void 0!=d&&1!=d||this._raiseEvent(3,{label:e.label,value:e.value,checked:!0,item:e})}},getCheckedItems:function(){if(!this.checkboxes)return null;var b=new Array;if(void 0!=this.items)return a.each(this.items,function(){this.checked&&(b[b.length]=this)}),b},checkAll:function(b){if(this.checkboxes&&!this.disabled){var c=this;a.each(this.items,function(){var a=this;b!==!1&&a.checked!==!0&&c._raiseEvent(3,{label:a.label,value:a.value,checked:!0,item:a}),this.checked=!0}),this._updateCheckedItems()}},uncheckAll:function(b){if(this.checkboxes&&!this.disabled){var c=this;a.each(this.items,function(){var a=this;b!==!1&&a.checked!==!1&&(this.checked=!1,c._raiseEvent(3,{label:a.label,value:a.value,checked:!1,item:a})),this.checked=!1}),this._updateCheckedItems()}},uncheckIndex:function(b,c,d){if(this.checkboxes&&!isNaN(b)&&!(b<0||b>=this.visibleItems.length||null!=this.visibleItems[b]&&this.visibleItems[b].disabled||this.disabled)){var e=this.getItem(b);if(this.groups.length>0||this.filterable)var e=this.getVisibleItem(b);if(null!=e){a(e.checkBoxElement);e.checked=!1,void 0!=c&&1!=c||this._updateCheckedItems()}void 0!=d&&1!=d||this._raiseEvent(3,{label:e.label,value:e.value,checked:!1,item:e})}},indeterminateIndex:function(b,c,d){if(this.checkboxes&&!isNaN(b)&&!(b<0||b>=this.visibleItems.length||null!=this.visibleItems[b]&&this.visibleItems[b].disabled||this.disabled)){var e=this.getItem(b);if(this.groups.length>0||this.filterable)var e=this.getVisibleItem(b);if(null!=e){a(e.checkBoxElement);e.checked=null,void 0!=c&&1!=c||this._updateCheckedItems()}void 0!=d&&1!=d||this._raiseEvent(3,{checked:null})}},getSelectedIndex:function(){return this.selectedIndex},getSelectedItems:function(){var a=this.getVisibleItems(),b=this.selectedIndexes,c=[];for(var d in b)b[d]!=-1&&(c[c.length]=a[d]);return c},getSelectedItem:function(){var a=this.getSelectedItems();
return a&&a.length>0?a[0]:null},_updateCheckedItems:function(){var b=this.selectedIndex;this.clearSelection(!1);this.getCheckedItems();this.selectedIndex=b,this._renderItems();var c=a.data(this.element,"hoveredItem");null!=c&&(a(c).addClass(this.toThemeProperty("jqx-listitem-state-hover")),a(c).addClass(this.toThemeProperty("jqx-fill-state-hover"))),this._updateInputSelection()},getItemByValue:function(b){if(null!=this.visibleItems){if(b&&b.value&&(b=b.value),this.itemsByValue)return this.itemsByValue[a.trim(b).split(" ").join("?")];for(var c=this.visibleItems,d=0;d<c.length;d++)if(c[d].value==b)return c[d]}},checkItem:function(a){if(null!=a){var b=this._getItemByParam(a);return this.checkIndex(b.visibleIndex,!0)}return!1},uncheckItem:function(a){if(null!=a){var b=this._getItemByParam(a);return this.uncheckIndex(b.visibleIndex,!0)}return!1},indeterminateItem:function(a){if(null!=a){var b=this._getItemByParam(a);return this.indeterminateIndex(b.visibleIndex,!0)}return!1},val:function(a){if(this.input){var b=function(b){for(var c in b)if(b.hasOwnProperty(c))return!1;return"number"!=typeof a&&("date"!=typeof a&&("boolean"!=typeof a&&"string"!=typeof a))};if(b(a)||0==arguments.length)return this.input.val();var c=this.getItemByValue(a);return null!=c&&this.selectItem(c),this.input?this.input.val():void 0}},selectItem:function(a){if(null!=a){if(void 0==a.index){var b=this.getItemByValue(a);b&&(a=b)}return this.selectIndex(a.visibleIndex,!0)}return this.clearSelection(),!1},unselectItem:function(a){if(null!=a){if(void 0==a.index){var b=this.getItemByValue(a);b&&(a=b)}return this.unselectIndex(a.visibleIndex,!0)}return!1},selectIndex:function(a,b,c,d,e,f){if(!isNaN(a)){var g=this.selectedIndex;if(this.filterable&&(this.selectedIndex=-1),!(a<-1||a>=this.visibleItems.length||null!=this.visibleItems[a]&&this.visibleItems[a].disabled||this.disabled)){if(!(this.multiple||this.multipleextended||this.selectedIndex!=a||d||this.checkboxes))return void(this.visibleItems&&this.items&&this.visibleItems.length!=this.items.length&&(i=this.getVisibleItem(a),i&&(this.selectedValue=i.value,this.selectedValues[i.value]=i.value)));if(this.checkboxes){this._updateCheckedItems();var h=g;this.selectedIndex!=a||this.multiple||(h=-1),void 0==e&&(e="none");var i=this.getItem(a),j=this.getItem(h);return this.visibleItems&&this.items&&this.visibleItems.length!=this.items.length&&(i=this.getVisibleItem(a),j=this.getVisibleItem(h)),this._raiseEvent("1",{index:h,type:e,item:j,originalEvent:f}),this.selectedIndex=a,this.selectedIndexes[h]=-1,this.selectedIndexes[a]=a,i&&(this.selectedValue=i.value,this.selectedValues[i.value]=i.value),this._raiseEvent("0",{index:a,type:e,item:i,originalEvent:f}),void this._renderItems()}this.focused=!0;var k=!1;this.selectedIndex!=a&&(k=!0);var h=g;this.selectedIndex!=a||this.multiple||(h=-1),void 0==e&&(e="none");var i=this.getItem(a),j=this.getItem(h);if(this.visibleItems&&this.items&&this.visibleItems.length!=this.items.length&&(i=this.getVisibleItem(a),j=this.getVisibleItem(h)),void 0!=d&&d)this._raiseEvent("1",{index:h,type:e,item:j,originalEvent:f}),this.selectedIndex=a,this.selectedIndexes[h]=-1,this.selectedIndexes[a]=a,i&&(this.selectedValue=i.value,this.selectedValues[i.value]=i.value),this._raiseEvent("0",{index:a,type:e,item:i,originalEvent:f});else{var l=this,m=function(a,b,c,d,e,f){l._raiseEvent("1",{index:b,type:c,item:d,originalEvent:f}),l.selectedIndex=a,l.selectedIndexes=[],b=a,l.selectedIndexes[a]=a,l.selectedValues=new Array,e&&(l.selectedValues[e.value]=e.value),l._raiseEvent("0",{index:a,type:c,item:e,originalEvent:f})},n=function(a,b,c,d,e,f){void 0==l.selectedIndexes[a]||l.selectedIndexes[a]==-1?(l.selectedIndexes[a]=a,l.selectedIndex=a,e&&(l.selectedValues[e.value]=e.value,l._raiseEvent("0",{index:a,type:c,item:e,originalEvent:f}))):(b=l.selectedIndexes[a],d=l.getVisibleItem(b),d&&(l.selectedValues[d.value]=null),l.selectedIndexes[a]=-1,l.selectedIndex=-1,l._raiseEvent("1",{index:b,type:c,item:d,originalEvent:f}))};if(this.multipleextended)if(this._shiftKey||this._ctrlKey){if(this._ctrlKey)"keyboard"==e&&(this.clearSelection(!1),l._clickedIndex=a),n(a,h,e,j,i,f);else if(this._shiftKey){void 0==l._clickedIndex&&(l._clickedIndex=h);var o=Math.min(l._clickedIndex,a),p=Math.max(l._clickedIndex,a);this.clearSelection(!1);for(var q=o;q<=p;q++)l.selectedIndexes[q]=q,l.selectedValues[l.getVisibleItem(q).value]=l.getVisibleItem(q).value,l._raiseEvent("0",{index:q,type:e,item:this.getVisibleItem(q),originalEvent:f});"keyboard"!=e?l.selectedIndex=l._clickedIndex:l.selectedIndex=a}}else"keyboard"!=e&&"mouse"!=e?(n(a,h,e,j,i,f),l._clickedIndex=a):(this.clearSelection(!1),l._clickedIndex=a,m(a,h,e,j,i,f));else this.multiple?n(a,h,e,j,i,f):(i&&(this.selectedValue=i.value),m(a,h,e,j,i,f))}return void 0!=c&&1!=c||this._renderItems(),void 0!=b&&null!=b&&1==b&&this.ensureVisible(a),this._raiseEvent("2",{index:a,item:i,oldItem:j,type:e,originalEvent:f}),this._updateInputSelection(),k}}},_updateInputSelection:function(){this._syncSelection();var b=new Array;if(this.input&&(this.selectedIndex==-1?this.input.val(""):this.items&&void 0!=this.items[this.selectedIndex]&&(this.input.val(this.items[this.selectedIndex].value),b.push(this.items[this.selectedIndex].value)),this.multiple||this.multipleextended||this.checkboxes)){var c=this.checkboxes?this.getCheckedItems():this.getSelectedItems(),d="";if(c){for(var e=0;e<c.length;e++)void 0!=c[e]&&(d+=e==c.length-1?c[e].value:c[e].value+",",b.push(c[e].value));this.input.val(d)}}this.field&&this.input&&("select"==this.field.nodeName.toLowerCase()?a.each(this.field,function(c,d){a(this).removeAttr("selected"),this.selected=b.indexOf(this.value)>=0,this.selected&&a(this).attr("selected",!0)}):a.each(this.items,function(c,d){a(this.originalItem.originalItem).removeAttr("data-selected"),this.selected=b.indexOf(this.value)>=0,this.selected&&a(this.originalItem.originalItem).attr("data-selected",!0)}))},isIndexInView:function(a){if(isNaN(a))return!1;if(!this.items)return!1;if(a<0||a>=this.items.length)return!1;var b=this.vScrollInstance.value,c=0;this.filterable&&(c=this.filterHeight);var d=this.visibleItems[a];if(void 0==d)return!0;var e=d.initialTop,f=d.height;return!(e-b<c||e-b+c+f>=this.host.outerHeight())},_itemsInPage:function(){var b=0,c=this;return this.items&&a.each(this.items,function(){return!(this.initialTop+this.height>=c.content.height())&&void b++}),b},_firstItemIndex:function(){return null!=this.visibleItems?this.visibleItems[0]&&this.visibleItems[0].isGroup?this._nextItemIndex(0):0:-1},_lastItemIndex:function(){return null!=this.visibleItems?this.visibleItems[this.visibleItems.length-1]&&this.visibleItems[this.visibleItems.length-1].isGroup?this._prevItemIndex(this.visibleItems.length-1):this.visibleItems.length-1:-1},_nextItemIndex:function(a){for(indx=a+1;indx<this.visibleItems.length;indx++)if(this.visibleItems[indx]&&!this.visibleItems[indx].disabled&&!this.visibleItems[indx].isGroup)return indx;return-1},_prevItemIndex:function(a){for(indx=a-1;indx>=0;indx--)if(this.visibleItems[indx]&&!this.visibleItems[indx].disabled&&!this.visibleItems[indx].isGroup)return indx;return-1},clearFilter:function(){this.filterInput.val(""),this._updateItemsVisibility("")},_search:function(a){var b=this,c=b.filterInput.val();if(9!=a.keyCode&&"none"!=b.searchMode&&null!=b.searchMode&&"undefined"!=b.searchMode&&16!=a.keyCode&&17!=a.keyCode&&20!=a.keyCode)return 37!=a.keyCode&&39!=a.keyCode&&void(a.altKey||18==a.keyCode||a.keyCode>=33&&a.keyCode<=40||(a.ctrlKey||a.metaKey||b.ctrlKey)&&88!=a.keyCode&&86!=a.keyCode||c!==b.searchString&&b._updateItemsVisibility(c))},_updateItemsVisibility:function(b){var c=this.getItems();if(void 0==c)return{index:-1,matchItem:new Array};var d=this,e=-1,f=new Array,g=0;a.each(c,function(c){var h="";if(!this.isGroup){h=this.searchLabel?this.searchLabel:this.label?this.label:this.value?this.value:this.title?this.title:"jqxItem",h=h.toString();var i=!1;switch(d.searchMode){case"containsignorecase":i=a.jqx.string.containsIgnoreCase(h,b);break;case"contains":i=a.jqx.string.contains(h,b);break;case"equals":i=a.jqx.string.equals(h,b);break;case"equalsignorecase":i=a.jqx.string.equalsIgnoreCase(h,b);break;case"startswith":i=a.jqx.string.startsWith(h,b);break;case"startswithignorecase":i=a.jqx.string.startsWithIgnoreCase(h,b);break;case"endswith":i=a.jqx.string.endsWith(h,b);break;case"endswithignorecase":i=a.jqx.string.endsWithIgnoreCase(h,b)}i||(this.visible=!1),i&&(f[g++]=this,this.visible=!0,e=this.visibleIndex),""==b&&(this.visible=!0,i=!1)}}),d.renderedVisibleItems=new Array,d.visibleItems=new Array,d.vScrollInstance.setPosition(0,!0),d._addItems(!1),d._renderItems();for(var h=0;h<d.items.length;h++)d.selectedIndexes[h]=-1;d.selectedIndex=-1;for(var i in d.selectedValues){var b=d.selectedValues[i],j=d.getItemByValue(b);j&&j.visible&&(d.selectedIndex=j.visibleIndex,d.selectedIndexes[j.visibleIndex]=j.visibleIndex)}d._syncSelection(),d.filterChange&&d.filterChange(b)},_getMatches:function(b,c){if(void 0==b||0==b.length)return-1;void 0==c&&(c=0);var d=this.getItems(),e=this,f=-1;return a.each(d,function(d){var g="";if(!this.isGroup){g=this.searchLabel?this.searchLabel.toString():this.label?this.label.toString():this.value?this.value.toString():this.title?this.title.toString():"jqxItem";var h=!1;switch(e.searchMode){case"containsignorecase":h=a.jqx.string.containsIgnoreCase(g,b);break;case"contains":h=a.jqx.string.contains(g,b);break;case"equals":h=a.jqx.string.equals(g,b);break;case"equalsignorecase":h=a.jqx.string.equalsIgnoreCase(g,b);break;case"startswith":h=a.jqx.string.startsWith(g,b);break;case"startswithignorecase":h=a.jqx.string.startsWithIgnoreCase(g,b);break;case"endswith":h=a.jqx.string.endsWith(g,b);break;case"endswithignorecase":h=a.jqx.string.endsWithIgnoreCase(g,b)}if(h&&this.visibleIndex>=c)return f=this.visibleIndex,!1}}),f},findItems:function(b){var c=this.getItems(),d=this,e=0,f=new Array;return a.each(c,function(c){var g="";if(!this.isGroup){g=this.label?this.label:this.value?this.value:this.title?this.title:"jqxItem";var h=!1;switch(d.searchMode){case"containsignorecase":h=a.jqx.string.containsIgnoreCase(g,b);break;case"contains":h=a.jqx.string.contains(g,b);break;case"equals":h=a.jqx.string.equals(g,b);break;case"equalsignorecase":h=a.jqx.string.equalsIgnoreCase(g,b);break;case"startswith":h=a.jqx.string.startsWith(g,b);break;case"startswithignorecase":h=a.jqx.string.startsWithIgnoreCase(g,b);break;case"endswith":h=a.jqx.string.endsWith(g,b);break;case"endswithignorecase":h=a.jqx.string.endsWithIgnoreCase(g,b)}h&&(f[e++]=this)}}),f},_syncSelection:function(){var a=this;if(a.filterable){if(a.items)for(var b=0;b<a.items.length;b++){var c=a.items[b];c.selected=!1}for(var b=0;b<a.visibleItems.length;b++){var c=a.visibleItems[b];a.selectedIndexes&&a.selectedIndexes[b]==c.visibleIndex&&(c.selected=!0)}a.itemswrapper&&a._renderItems()}},_handleKeyDown:function(a){var b=a.keyCode,c=this,d=c.selectedIndex,e=c.selectedIndex;if(this.keyboardNavigation&&this.enableSelection&&(!this.filterInput||a.target!=this.filterInput[0])){var f=function(){(c.multiple||c.checkboxes)&&c.clearSelection(!1)};if(a.altKey&&(b=-1),32==b&&this.checkboxes){var g=this.getItem(d);return null!=g&&(c._updateItemCheck(g,d),a.preventDefault()),c._searchString="",c.selectIndex(g.visibleIndex,!1,!0,!0,"keyboard",a),void c._renderItems()}if(c.incrementalSearch){var h=-1;c._searchString||(c._searchString=""),(8==b||46==b)&&c._searchString.length>=1&&(c._searchString=c._searchString.substr(0,c._searchString.length-1));var i=String.fromCharCode(b),j=!isNaN(parseInt(i)),k=!1;if(b>=65&&b<=97||j||8==b||32==b||46==b){a.shiftKey||(i=i.toLocaleLowerCase());var l=1+c.selectedIndex;8!=b&&32!=b&&46!=b&&(c._searchString.length>0&&c._searchString.substr(0,1)==i?(l=1+c.selectedIndex,c._searchString+=i):c._searchString+=i),32==b&&(c._searchString+=" ");var m=this._getMatches(c._searchString,l);if(h=m,h==c._lastMatchIndex||h==-1){var m=this._getMatches(c._searchString,0);h=m}if(c._lastMatchIndex=h,h>=0){var n=function(){f(),c.selectIndex(h,!1,!1,!1,"keyboard",a);var b=c.isIndexInView(h);b?c._renderItems():c.ensureVisible(h)};c._toSelectTimer&&clearTimeout(c._toSelectTimer),c._toSelectTimer=setTimeout(function(){n()},c.incrementalSearchKeyDownDelay)}k=!0}if(void 0!=c._searchTimer&&clearTimeout(c._searchTimer),27!=b&&13!=b||(c._searchString=""),c._searchTimer=setTimeout(function(){c._searchString="",c._renderItems()},c.incrementalSearchDelay),h>=0)return;if(k)return!1}if(33==b){var o=c._itemsInPage();c.selectedIndex-o>=0?(f(),c.selectIndex(e-o,!1,!1,!1,"keyboard",a)):(f(),c.selectIndex(c._firstItemIndex(),!1,!1,!1,"keyboard",a)),c._searchString=""}if(32==b&&this.checkboxes){var g=this.getItem(d);null!=g&&(c._updateItemCheck(g,d),a.preventDefault()),c._searchString=""}if(36==b&&(f(),c.selectIndex(c._firstItemIndex(),!1,!1,!1,"keyboard",a),c._searchString=""),35==b&&(f(),c.selectIndex(c._lastItemIndex(),!1,!1,!1,"keyboard",a),c._searchString=""),34==b){var o=c._itemsInPage();c.selectedIndex+o<c.visibleItems.length?(f(),c.selectIndex(e+o,!1,!1,!1,"keyboard",a)):(f(),c.selectIndex(c._lastItemIndex(),!1,!1,!1,"keyboard",a)),c._searchString=""}if(38==b){if(c._searchString="",!(c.selectedIndex>0))return!1;var p=c._prevItemIndex(c.selectedIndex);if(p==c.selectedIndex||p==-1)return!0;f(),c.selectIndex(p,!1,!1,!1,"keyboard",a)}else if(40==b){if(c._searchString="",!(c.selectedIndex+1<c.visibleItems.length))return!1;var p=c._nextItemIndex(c.selectedIndex);if(p==c.selectedIndex||p==-1)return!0;f(),c.selectIndex(p,!1,!1,!1,"keyboard",a)}if(35==b||36==b||38==b||40==b||34==b||33==b){var q=c.isIndexInView(c.selectedIndex);return q?c._renderItems():c.ensureVisible(c.selectedIndex),!1}return!0}},_updateItemCheck:function(a,b){if(!this.disabled)switch(1==a.checked?a.checked=!(!a.hasThreeStates||!this.hasThreeStates)&&null:a.checked=null!=a.checked,a.checked){case!0:this.checkIndex(b);break;case!1:this.uncheckIndex(b);break;default:this.indeterminateIndex(b)}},wheel:function(a,b){if(b.autoHeight||!b.enableMouseWheel)return a.returnValue=!0,!0;if(b.disabled)return!0;var c=0;if(a||(a=window.event),a.originalEvent&&a.originalEvent.wheelDelta&&(a.wheelDelta=a.originalEvent.wheelDelta),a.wheelDelta?c=a.wheelDelta/120:a.detail&&(c=-a.detail/3),c){var d=b._handleDelta(c);return d&&(a.preventDefault&&a.preventDefault(),null!=a.originalEvent&&(a.originalEvent.mouseHandled=!0),void 0!=a.stopPropagation&&a.stopPropagation()),!!d&&(d=!1,a.returnValue=d,d)}a.preventDefault&&a.preventDefault(),a.returnValue=!1},_handleDelta:function(a){var b=this.vScrollInstance.value;a<0?this.scrollDown():this.scrollUp();var c=this.vScrollInstance.value;return b!=c},focus:function(){try{this.focused=!0,this.host.focus();var a=this;setTimeout(function(){a.host.focus()},25)}catch(a){}},_removeHandlers:function(){this.removeHandler(a(document),"keydown.listbox"+this.element.id),this.removeHandler(a(document),"keyup.listbox"+this.element.id),this.removeHandler(this.vScrollBar,"valueChanged"),this.removeHandler(this.hScrollBar,"valueChanged"),this._mousewheelfunc?this.removeHandler(this.host,"mousewheel",this._mousewheelfunc):this.removeHandler(this.host,"mousewheel"),this.removeHandler(this.host,"keydown"),this.removeHandler(this.content,"mouseleave"),this.removeHandler(this.content,"focus"),this.removeHandler(this.content,"blur"),this.removeHandler(this.host,"focus"),this.removeHandler(this.host,"blur"),this.removeHandler(this.content,"mouseenter"),this.removeHandler(this.content,"mouseup"),this.removeHandler(this.content,"mousedown"),this.removeHandler(this.content,"touchend"),this._mousemovefunc?this.removeHandler(this.content,"mousemove",this._mousemovefunc):this.removeHandler(this.content,"mousemove"),this.removeHandler(this.content,"selectstart"),this.overlayContent&&this.removeHandler(this.overlayContent,a.jqx.mobile.getTouchEventName("touchend"))},_updateSize:function(){this.virtualSize||(this._oldheight=null,this.virtualSize=this._calculateVirtualSize());var a=this;if(a._arrange(),a.host.height()!=a._oldheight||a.host.width()!=a._oldwidth){a.host.width()!=a._oldwidth;if(a.autoItemsHeight)a._render(!1);else if(a.items)if(a.items.length>0&&a.virtualItemsCount*a.items[0].height<a._oldheight-2)a._render(!1);else{var b=a.vScrollInstance.value;a._updatescrollbars(),a._renderItems(),b<a.vScrollInstance.max?a.vScrollInstance.setPosition(b):a.vScrollInstance.setPosition(a.vScrollInstance.max)}a._oldwidth=a.host.width(),a._oldheight=a.host.height()}},_addHandlers:function(){var b=this;this.focused=!1;var c=(new Date,this.isTouchDevice());this.addHandler(this.vScrollBar,"valueChanged",function(c){a.jqx.browser.msie&&a.jqx.browser.version>9?setTimeout(function(){b._renderItems()},1):b._renderItems()}),this.addHandler(this.hScrollBar,"valueChanged",function(){b._renderItems()}),this._mousewheelfunc&&this.removeHandler(this.host,"mousewheel",this._mousewheelfunc),this._mousewheelfunc=function(a){b.wheel(a,b)},this.addHandler(this.host,"mousewheel",this._mousewheelfunc),this.addHandler(a(document),"keydown.listbox"+this.element.id,function(a){b._ctrlKey=a.ctrlKey||a.metaKey,b._shiftKey=a.shiftKey}),this.addHandler(a(document),"keyup.listbox"+this.element.id,function(a){b._ctrlKey=a.ctrlKey||a.metaKey,b._shiftKey=a.shiftKey}),this.addHandler(this.host,"keydown",function(a){return b._handleKeyDown(a)}),this.addHandler(this.content,"mouseleave",function(c){b.focused=!1;var d=a.data(b.element,"hoveredItem");null!=d&&(a(d).removeClass(b.toThemeProperty("jqx-listitem-state-hover")),a(d).removeClass(b.toThemeProperty("jqx-fill-state-hover")),a.data(b.element,"hoveredItem",null))}),this.addHandler(this.content,"focus",function(a){b.disabled||(b.host.addClass(b.toThemeProperty("jqx-fill-state-focus")),b.focused=!0)}),this.addHandler(this.content,"blur",function(a){b.focused=!1,b.host.removeClass(b.toThemeProperty("jqx-fill-state-focus"))}),this.addHandler(this.host,"focus",function(a){b.disabled||(b.host.addClass(b.toThemeProperty("jqx-fill-state-focus")),b.focused=!0)}),this.addHandler(this.host,"blur",function(c){a.jqx.browser.msie&&a.jqx.browser.version<9&&b.focused||(b.host.removeClass(b.toThemeProperty("jqx-fill-state-focus")),b.focused=!1)}),this.addHandler(this.content,"mouseenter",function(a){b.focused=!0});var d=a.jqx.utilities.hasTransform(this.host);if(this.enableSelection){var e=b.isTouchDevice()&&this.touchMode!==!0,f=e?"touchend":"mousedown";if(this.overlayContent)this.addHandler(this.overlayContent,a.jqx.mobile.getTouchEventName("touchend"),function(c){if(!b.enableSelection)return!0;if(e&&(b._newScroll=new Date,b._newScroll-b._lastScroll<500))return!0;var d=a.jqx.mobile.getTouches(c),f=d[0];if(void 0!=f){var g=b.host.offset(),h=parseInt(f.pageX),i=parseInt(f.pageY);1==b.touchMode&&void 0!=f._pageX&&(h=parseInt(f._pageX),i=parseInt(f._pageY)),h-=g.left,i-=g.top;var j=b._hitTest(h,i);if(null!=j&&!j.isGroup){if(b._newScroll=new Date,b._newScroll-b._lastScroll<500)return!1;if(b.checkboxes)return void b._updateItemCheck(j,j.visibleIndex);if(j.html.indexOf("href")==-1)return b.selectIndex(j.visibleIndex,!1,!0,!1,"mouse",c),c.preventDefault&&c.preventDefault(),b.content.trigger("click"),!1;setTimeout(function(){return b.selectIndex(j.visibleIndex,!1,!0,!1,"mouse",c),b.content.trigger("click"),!1},100)}}});else{var g=!1;this.addHandler(this.content,f,function(c){if(!b.enableSelection)return!0;if(g=!0,e&&(b._newScroll=new Date,b._newScroll-b._lastScroll<500))return!1;if(b.focused=!0,!b.isTouchDevice()&&b.focusable&&b.host.focus(),c.target.id!="listBoxContent"+b.element.id&&b.itemswrapper[0]!=c.target){var h=c.target,i=a(h).offset(),j=b.host.offset();if(d){var k=a.jqx.mobile.getLeftPos(h),l=a.jqx.mobile.getTopPos(h);i.left=k,i.top=l,k=a.jqx.mobile.getLeftPos(b.element),l=a.jqx.mobile.getTopPos(b.element),j.left=k,j.top=l}var m=parseInt(i.top)-parseInt(j.top),n=parseInt(i.left)-parseInt(j.left),o=b._hitTest(n,m);if(null!=o&&!o.isGroup){var p=function(a,c){if(b._shiftKey||(b._clickedIndex=a.visibleIndex),b.checkboxes)if(n=20+c.pageX-i.left,b.rtl){"hidden"!=b.hScrollBar.css("visibility")?b.hScrollInstance.max:b.host.width();n<=b.host.width()-20&&(b.allowDrag?setTimeout(function(){b._dragItem||g||(b._updateItemCheck(a,a.visibleIndex),b.selectIndex(a.visibleIndex,!1,!0,!1,"mouse",c))},200):(b._updateItemCheck(a,a.visibleIndex),b.selectIndex(a.visibleIndex,!1,!0,!1,"mouse",c)))}else n+b.hScrollInstance.value>=20&&(b.allowDrag?setTimeout(function(){b._dragItem||g||(b._updateItemCheck(a,a.visibleIndex),b.selectIndex(a.visibleIndex,!1,!0,!1,"mouse",c))},200):(b._updateItemCheck(a,a.visibleIndex),b.selectIndex(a.visibleIndex,!1,!0,!1,"mouse",c)));else b.selectIndex(a.visibleIndex,!1,!0,!1,"mouse",c)};o.disabled||(o.html.indexOf("href")!=-1?setTimeout(function(){p(o,c)},100):p(o,c))}if("mousedown"==f){var q=!1;return c.which?q=3==c.which:c.button&&(q=2==c.button),!!q}}return!0})}this.addHandler(this.content,"mouseup",function(a){b.vScrollInstance.handlemouseup(b,a),g=!1}),a.jqx.browser.msie&&this.addHandler(this.content,"selectstart",function(a){return!1})}var c=this.isTouchDevice();this.enableHover&&!c&&(this._mousemovefunc=function(e){if(c)return!0;if(!b.enableHover)return!0;1==a.jqx.browser.msie&&a.jqx.browser.version<9?0:1;if(null==e.target)return!0;if(b.disabled)return!0;b.focused=!0;var f=b.vScrollInstance.isScrolling();if(!f&&e.target.id!="listBoxContent"+b.element.id&&b.itemswrapper[0]!=e.target){var g=e.target,h=a(g).offset(),i=b.host.offset();if(d){var j=a.jqx.mobile.getLeftPos(g),k=a.jqx.mobile.getTopPos(g);h.left=j,h.top=k,j=a.jqx.mobile.getLeftPos(b.element),k=a.jqx.mobile.getTopPos(b.element),i.left=j,i.top=k}var l=parseInt(h.top)-parseInt(i.top),m=parseInt(h.left)-parseInt(i.left),n=b._hitTest(m,l);if(null!=n&&!n.isGroup&&!n.disabled){var o=a.data(b.element,"hoveredItem");null!=o&&(a(o).removeClass(b.toThemeProperty("jqx-listitem-state-hover")),a(o).removeClass(b.toThemeProperty("jqx-fill-state-hover"))),a.data(b.element,"hoveredItem",n.element);var p=a(n.element);p.addClass(b.toThemeProperty("jqx-listitem-state-hover")),p.addClass(b.toThemeProperty("jqx-fill-state-hover"))}}},this.addHandler(this.content,"mousemove",this._mousemovefunc))},_arrange:function(a){void 0==a&&(a=!0);var b=this,c=null,d=null,e=b.filterable?b.filterHeight:0,f=function(a){return a=b.host.height(),0==a&&(a=200,b.host.height(a)),a};null!=b.width&&b.width.toString().indexOf("px")!=-1?c=b.width:void 0==b.width||isNaN(b.width)||(c=b.width),null!=b.height&&b.height.toString().indexOf("px")!=-1?d=b.height:void 0==b.height||isNaN(b.height)||(d=b.height),null!=b.width&&b.width.toString().indexOf("%")!=-1&&(b.host.css("width",b.width),c=b.host.width()),null!=b.height&&b.height.toString().indexOf("%")!=-1&&(b.host.css("height",b.height),d=f(d)),null!=c&&(c=parseInt(c),parseInt(b.element.style.width)!=parseInt(b.width)&&b.host.width(b.width)),b.autoHeight?b.virtualSize&&("hidden"!=b.hScrollBar.css("visibility")?(b.host.height(b.virtualSize.height+parseInt(b.scrollBarSize)+3),b.height=b.virtualSize.height+parseInt(b.scrollBarSize)+3,d=b.height):(b.host.height(b.virtualSize.height),b.height=b.virtualSize.height,d=b.virtualSize.height)):null!=d&&(d=parseInt(d),parseInt(b.element.style.height)!=parseInt(b.height)&&(b.host.height(b.height),f(d)));var g=b.scrollBarSize;isNaN(g)&&(g=parseInt(g),isNaN(g)?g="17px":g+="px"),g=parseInt(g);var h=4,i=2,j=1;if(b.vScrollBar&&("hidden"!=b.vScrollBar[0].style.visibility?j=g+h:b.vScrollInstance.setPosition(0),0==g&&(j=1,i=1),b.hScrollBar)){"hidden"!=b.hScrollBar[0].style.visibility?i=g+h:b.hScrollInstance.setPosition(0),b.autoItemsHeight&&(b.hScrollBar[0].style.visibility="hidden",i=0),null==d&&(d=0);var k=parseInt(d)-h-g;k<0&&(k=0),parseInt(b.hScrollBar[0].style.height)!=g&&(parseInt(g)<0&&(g=0),b.hScrollBar[0].style.height=parseInt(g)+"px"),b.hScrollBar[0].style.top!=k+"px"&&(b.hScrollBar[0].style.top=k+"px",b.hScrollBar[0].style.left="0px");var l=c-g-h;l<0&&(l=0);var m=l+"px";if(b.hScrollBar[0].style.width!=m&&(b.hScrollBar[0].style.width=m),j<=1&&c>=2&&(b.hScrollBar[0].style.width=parseInt(c-2)+"px"),g!=parseInt(b.vScrollBar[0].style.width)&&(b.vScrollBar[0].style.width=parseInt(g)+"px"),parseInt(d)-i!=parseInt(b.vScrollBar[0].style.height)){var n=parseInt(d)-i;n<0&&(n=0),b.vScrollBar[0].style.height=n+"px"}null==c&&(c=0);var o=parseInt(c)-parseInt(g)-h+"px";o!=b.vScrollBar[0].style.left&&(parseInt(o)>=0&&(b.vScrollBar[0].style.left=o),b.vScrollBar[0].style.top="0px");var p=b.vScrollInstance;p.disabled=b.disabled,a&&p._arrange();var q=b.hScrollInstance;if(q.disabled=b.disabled,a&&q._arrange(),"hidden"!=b.vScrollBar[0].style.visibility&&"hidden"!=b.hScrollBar[0].style.visibility?(b.bottomRight[0].style.visibility="inherit",b.bottomRight[0].style.left=1+parseInt(b.vScrollBar[0].style.left)+"px",b.bottomRight[0].style.top=1+parseInt(b.hScrollBar[0].style.top)+"px",b.rtl&&b.bottomRight.css({left:0}),b.bottomRight[0].style.width=parseInt(g)+3+"px",b.bottomRight[0].style.height=parseInt(g)+3+"px"):b.bottomRight[0].style.visibility="hidden",parseInt(b.content[0].style.width)!=parseInt(c)-j){var r=parseInt(c)-j;r<0&&(r=0),b.content[0].style.width=r+"px"}if(b.rtl&&(b.vScrollBar.css({left:"0px",top:"0px"}),b.hScrollBar.css({left:b.vScrollBar.width()+2+"px"}),"hidden"!=b.vScrollBar[0].style.visibility?b.content.css("margin-left",4+b.vScrollBar.width()):(b.content.css("margin-left",0),b.hScrollBar.css({left:"0px"})),b.filterable&&b.filterInput&&b.filterInput.css({left:b.vScrollBar.width()+6+"px"})),parseInt(b.content[0].style.height)!=parseInt(d)-i){var s=parseInt(d)-i;s<0&&(s=0),b.content[0].style.height=s+"px",b.content[0].style.top="0px"}e>0&&(b.content[0].style.top=e+"px",b.content[0].style.height=parseInt(b.content[0].style.height)-e+"px"),b.filterable?(b.filterInput[0].style.height=e-6+"px",b.filterInput[0].style.top="3px",b.rtl||(b.filterInput[0].style.left=parseInt(b.content.css("left"))+3+"px"),b.filterInput[0].style.width=parseInt(b.content.css("width"))-7+"px",b.filter[0].style.display="block"):b.filter[0].style.display="none",b.overlayContent&&(b.overlayContent.width(parseInt(c)-j),b.overlayContent.height(parseInt(d)-i))}},ensureVisible:function(b,c){if(isNaN(b)){var d=this.getItemByValue(b);d&&(b=d.index)}var e=this.isIndexInView(b);if(e){if(c)for(indx=0;indx<this.visibleItems.length;indx++){var d=this.visibleItems[indx];if(d.visibleIndex==b&&!d.isGroup){var f=this.vScrollInstance.value,g=d.initialTop;this.filterable&&(g=this.filterHeight+2+d.initialTop),f+this.host.height()<this.vScrollInstance.max&&this.vScrollInstance.setPosition(g)}}}else{if(b<0)return;if(this.autoHeight){var h=a.data(this.vScrollBar[0],"jqxScrollBar").instance;h.setPosition(0)}else for(indx=0;indx<this.visibleItems.length;indx++){var d=this.visibleItems[indx];if(d.visibleIndex==b&&!d.isGroup){var h=a.data(this.vScrollBar[0],"jqxScrollBar").instance,f=h.value,i=this.filterable?this.filterHeight+2:0,j="hidden"===this.hScrollBar.css("visibility"),k=j?0:this.scrollBarSize+4;if(d.initialTop<f)h.setPosition(d.initialTop),0==indx&&h.setPosition(0);else if(d.initialTop+d.height>f+this.host.height()-i){var l=this.host.height();if(this.filterable?h.setPosition(this.filterHeight+2+d.initialTop+d.height+2-l+k):(h.setPosition(d.initialTop+d.height+2-l+k),indx===this.visibleItems.length-1&&h.setPosition(h.max)),c){var f=h.value,g=d.initialTop;this.filterable&&(g=this.filterHeight+2+d.initialTop),f+l<h.max&&h.setPosition(g)}}break}}}this._renderItems()},scrollTo:function(a,b){"hidden"!=this.vScrollBar.css("visibility")&&this.vScrollInstance.setPosition(b),"hidden"!=this.hScrollBar.css("visibility")&&this.hScrollInstance.setPosition(a)},scrollDown:function(){if("hidden"==this.vScrollBar.css("visibility"))return!1;var a=this.vScrollInstance;return a.value+a.largestep<=a.max?(a.setPosition(a.value+a.largestep),!0):(a.setPosition(a.max),!0)},scrollUp:function(){if("hidden"==this.vScrollBar.css("visibility"))return!1;var a=this.vScrollInstance;return a.value-a.largestep>=a.min?(a.setPosition(a.value-a.largestep),!0):a.value!=a.min&&(a.setPosition(a.min),!0)},databind:function(b,c){this.records=new Array;var d=!!b._source,e=new a.jqx.dataAdapter(b,{autoBind:!1});d&&(e=b,b=b._source);var f=function(a){void 0!=b.type&&(e._options.type=b.type),void 0!=b.formatdata&&(e._options.formatData=b.formatdata),void 0!=b.contenttype&&(e._options.contentType=b.contenttype),void 0!=b.async&&(e._options.async=b.async)},g=function(b,c){var d=function(c){var d=null;if("string"==typeof c)var e=c,f=c,g="";else if(void 0!=b.displayMember&&""!=b.displayMember)var f=c[b.valueMember],e=c[b.displayMember];var g="";if(b.groupMember?g=c[b.groupMember]:c&&void 0!=c.group&&(g=c.group),b.searchMember?d=c[b.searchMember]:c&&void 0!=c.searchLabel&&(d=c.searchLabel),b.valueMember||b.displayMember||"string"==a.type(c)&&(e=f=c.toString()),c&&void 0!=c.label)var e=c.label;if(c&&void 0!=c.value)var f=c.value;var h=!1;c&&void 0!=c.checked&&(h=c.checked);var i="";c&&void 0!=c.html&&(i=c.html);var j=!0;c&&void 0!=c.visible&&(j=c.visible);var k=!1;c&&void 0!=c.disabled&&(k=c.disabled);var l=!1;c&&void 0!=c.hasThreeStates&&(l=c.hasThreeStates);var m={};return m.label=e,m.value=f,m.searchLabel=d,m.html=i,m.visible=j,m.originalItem=c,m.group=g,m.groupHtml="",m.disabled=k,m.checked=h,m.hasThreeStates=l,m};if(void 0!=c){var f=e._changedrecords[0];if(f)return void a.each(e._changedrecords,function(){var a=this.index,e=this.record;if("remove"!=c)var f=d(e);switch(c){case"update":b.updateAt(f,a);break;case"add":b.insertAt(f,a);break;case"remove":b.removeAt(a)}})}b.records=e.records;for(var g=b.records.length,h=new Array,i=0;i<g;i++){var j=b.records[i],k=d(j);k.index=i,h[i]=k}b.items=b.loadItems(h,!0),b._render(),b._raiseEvent("6")};f(this);var h=this;switch(b.datatype){case"local":case"array":default:(null!=b.localdata||a.isArray(b))&&(e.unbindBindingUpdate(this.element.id),(this.autoBind||!this.autoBind&&!c)&&e.dataBind(),g(this),e.bindBindingUpdate(this.element.id,function(a){g(h,a)}));break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(null!=b.localdata)return e.unbindBindingUpdate(this.element.id),(this.autoBind||!this.autoBind&&!c)&&e.dataBind(),g(this),void e.bindBindingUpdate(this.element.id,function(){g(h)});var i={};e._options.data?a.extend(e._options.data,i):(b.data&&a.extend(i,b.data),e._options.data=i);var j=function(){g(h)};e.unbindDownloadComplete(h.element.id),e.bindDownloadComplete(h.element.id,j),(this.autoBind||!this.autoBind&&!c)&&e.dataBind()}},loadItems:function(b,c){if(null==b)return this.groups=new Array,this.items=new Array,void(this.visualItems=new Array);var d=this,e=0,f=0,g=0;this.groups=new Array,this.items=new Array,this.visualItems=new Array;var h=new Array;this.itemsByValue=new Array,a.map(b,function(b){if(void 0==b)return null;var i=new a.jqx._jqxListBox.item,j=b.group,k=b.groupHtml,l=b.title,m=null;if(d.searchMember?m=b[d.searchMember]:b&&void 0!=b.searchLabel&&(m=b.searchLabel),null!=l&&void 0!=l||(l=""),null!=j&&void 0!=j||(j=""),d.groupMember&&(j=b[d.groupMember]),null!=k&&void 0!=k||(k=""),!d.groups[j]){d.groups[j]={items:new Array,index:-1,caption:j,captionHtml:k},e++;var n=e+"jqxGroup";d.groups[n]=d.groups[j],f++,d.groups.length=f}var o=d.groups[j];return o.index++,o.items[o.index]=i,"string"==typeof b?(i.label=b,i.value=b,arguments.length>1&&arguments[1]&&"string"==a.type(arguments[1])&&(i.label=b,i.value=arguments[1])):null==b.label&&null==b.value&&null==b.html&&null==b.group&&null==b.groupHtml?(i.label=b.toString(),i.value=b.toString()):(i.label=b.label,i.value=b.value,void 0===i.label&&(i.label=b.value),void 0===i.value&&(i.value=b.label)),"string"!=typeof b&&(void 0===b.label&&""!=d.displayMember&&(void 0!=b[d.displayMember]?i.label=b[d.displayMember]:i.label=""),void 0===b.value&&""!=d.valueMember&&(i.value=b[d.valueMember])),i.hasThreeStates=void 0==b.hasThreeStates||b.hasThreeStates,i.originalItem=b,c&&(i.originalItem=b.originalItem),
i.title=l,l&&void 0===i.value&&void 0===i.label&&(i.value=i.label=l),i.html=b.html||"",b.html&&""!=b.html,i.group=j,i.checked=b.checked||!1,i.groupHtml=b.groupHtml||"",i.disabled=b.disabled||!1,i.visible=void 0==b.visible||b.visible,i.searchLabel=m,i.index=g,h[g]=i,g++,i});var i=new Array,j=0;if(void 0==this.fromSelect||0==this.fromSelect)for(var k=0;k<f;k++){var e=k+1,l=e+"jqxGroup",m=this.groups[l];if(void 0==m||null==m)break;if(0==k&&""==m.caption&&""==m.captionHtml&&f<=1){for(var n=0;n<m.items.length;n++){var o=m.items[n].value;void 0!=m.items[n].value&&null!=m.items[n].value||(o=n),this.itemsByValue[a.trim(o).split(" ").join("?")]=m.items[n]}return m.items}var p=new a.jqx._jqxListBox.item;p.isGroup=!0,p.label=m.caption,""==m.caption&&""==m.captionHtml&&(m.caption=this.emptyGroupText,p.label=m.caption),p.html=m.captionHtml,i[j]=p,j++;for(var q=0;q<m.items.length;q++){i[j]=m.items[q];var o=m.items[q].value;""!=m.items[q].value&&null!=m.items[q].value||(o=j),d.itemsByValue[a.trim(o).split(" ").join("?")]=m.items[q],j++}}else{var j=0,r=new Array;a.each(h,function(){if(!r[this.group]&&""!=this.group){var b=new a.jqx._jqxListBox.item;b.isGroup=!0,b.label=this.group,i[j]=b,j++,r[this.group]=!0}i[j]=this;var c=this.value;""!=this.value&&null!=this.value||(c=j-1),d.itemsByValue[a.trim(c).split(" ").join("?")]=this,j++})}return i},_mapItem:function(b){var c=new a.jqx._jqxListBox.item;return this.displayMember&&(void 0==b.label&&(b.label=b[this.displayMember]),void 0==b.value&&(b.value=b[this.valueMember])),"string"==typeof b?(c.label=b,c.value=b):"number"==typeof b?(c.label=b.toString(),c.value=b.toString()):(c.label=void 0!==b.label?b.label:b.value,c.value=void 0!==b.value?b.value:b.label),void 0==c.label&&void 0==c.value&&void 0==c.html&&(c.label=c.value=b),c.html=b.html||"",c.group=b.group||"",c.checked=b.checked||!1,c.title=b.title||"",c.groupHtml=b.groupHtml||"",c.disabled=b.disabled||!1,c.visible=b.visible||!0,c},addItem:function(a){return this.insertAt(a,this.items?this.items.length:0)},_getItemByParam:function(a){if(null!=a&&void 0==a.index){var b=this.getItemByValue(a);b&&(a=b)}return a},insertItem:function(a,b){var c=this._getItemByParam(a);return this.insertAt(c,b)},updateItem:function(a,b){var c=this._getItemByParam(b);return!(!c||void 0==c.index)&&this.updateAt(a,c.index)},updateAt:function(b,c){if(null!=b){var d=this._mapItem(b);this.itemsByValue[a.trim(d.value).split(" ").join("?")]=this.items[c],this.items[c].value=d.value,this.items[c].label=d.label,this.items[c].html=d.html,this.items[c].disabled=d.disabled,this._raiseEvent("9",{item:this.items[c]})}this._cachedItemHtml=[],this._renderItems(),this.rendered&&this.rendered()},insertAt:function(b,c){if(null==b)return!1;if(this._cachedItemHtml=[],void 0==this.items||0==this.items.length){this.source=new Array,this.refresh();var d=this._mapItem(b);d.index=0,this.items[this.items.length]=d,this._addItems(!0),this._renderItems(),this.rendered&&this.rendered(),this.allowDrag&&this._enableDragDrop&&this._enableDragDrop();var e=d.value;return""!=d.value&&null!=d.value||(e=c),this.itemsByValue[a.trim(e).split(" ").join("?")]=d,!1}var d=this._mapItem(b);if(c==-1||void 0==c||null==c||c>=this.items.length)d.index=this.items.length,this.items[this.items.length]=d;else{for(var f=new Array,g=0,h=!1,i=0,j=0;j<this.items.length;j++)0==this.items[j].isGroup&&i>=c&&!h&&(f[g++]=d,d.index=c,i++,h=!0),f[g]=this.items[j],this.items[j].isGroup||(f[g].index=i,i++),g++;this.items=f}var e=d.value;""!=d.value&&null!=d.value||(e=c),this.itemsByValue[a.trim(e).split(" ").join("?")]=d,this.visibleItems=new Array,this.renderedVisibleItems=new Array;var k=a.data(this.vScrollBar[0],"jqxScrollBar").instance,l=k.value;return k.setPosition(0),this.allowDrag&&this._enableDragDrop||this.virtualSize&&this.virtualSize.height<10+this.host.height()?this._addItems(!0):this._addItems(!1),this.groups.length>1,this._renderItems(),this.allowDrag&&this._enableDragDrop&&this._enableDragDrop(),k.setPosition(l),this._raiseEvent("7",{item:d}),this.rendered&&this.rendered(),!0},removeAt:function(b){if(b<0||b>this.items.length-1)return!1;if(void 0==b)return!1;var c=this.items[b].height,d=this.items[b].value;""!=d&&null!=d||(d=b),this.itemsByValue[a.trim(d).split(" ").join("?")]=null;var e=this.items[b];if(this.groups.length>1){for(var f=new Array,g=0;g<this.items.length;g++)this.items[g].isGroup||f.push({item:this.items[g],key:g});if(!f[b])return!1;this.items.splice(f[b].key,1)}else this.items.splice(b,1);for(var h=new Array,i=0,j=0,g=0;g<this.items.length;g++)h[i]=this.items[g],this.items[g].isGroup||(h[i].index=j,j++),i++;this.items=h;var k=a.data(this.vScrollBar[0],"jqxScrollBar").instance,k=a.data(this.vScrollBar[0],"jqxScrollBar").instance,l=k.value;if(k.setPosition(0),this.visibleItems=new Array,this.renderedVisibleItems=new Array,this.items.length>0){if(this.virtualSize){this.virtualSize.height-=c;var m=2*this.virtualSize.itemsPerPage;this.autoHeight&&(m=this.items.length),this.virtualItemsCount=Math.min(m,this.items.length)}this._updatescrollbars()}else this._addItems();this._renderItems(),this.allowDrag&&this._enableDragDrop&&this._enableDragDrop(),"hidden"!=this.vScrollBar.css("visibility")?k.setPosition(l):k.setPosition(0),this.itemsByValue=new Array;for(var n=0;n<this.items.length;n++){var d=this.items[n].value;""!=this.items[n].value&&null!=this.items[n].value||(d=n),this.itemsByValue[a.trim(d).split(" ").join("?")]=this.items[n]}return this._raiseEvent("8",{item:e}),this.rendered&&this.rendered(),!0},removeItem:function(a,b){var c=this._getItemByParam(a),d=-1;if(c&&void 0!=c.index&&b!==!0){for(var e=0;e<this.items.length;e++)if(this.items[e].label==c.label&&this.items[e].value==c.value){d=e;break}if(d!=-1)return this.removeAt(d)}if(d==-1)return this.removeAt(c.index)},getItems:function(){return this.items},disableItem:function(a){var b=this._getItemByParam(a);this.disableAt(b.index)},enableItem:function(a){var b=this._getItemByParam(a);this.enableAt(b.index)},disableAt:function(a){return!!this.items&&(!(a<0||a>this.items.length-1)&&(this.items[a].disabled=!0,this._renderItems(),!0))},enableAt:function(a){return!!this.items&&(!(a<0||a>this.items.length-1)&&(this.items[a].disabled=!1,this._renderItems(),!0))},destroy:function(){this.source&&this.source.unbindBindingUpdate&&this.source.unbindBindingUpdate(this.element.id),this._removeHandlers(),this.vScrollBar.jqxScrollBar("destroy"),this.hScrollBar.jqxScrollBar("destroy"),this.vScrollBar.remove(),this.hScrollBar.remove(),this.content.remove(),a.jqx.utilities.resize(this.host,null,!0);var b=a.data(this.element,"jqxListBox");delete this.hScrollInstance,delete this.vScrollInstance,delete this.vScrollBar,delete this.hScrollBar,delete this.content,delete this.bottomRight,delete this.itemswrapper,delete this.visualItems,delete this.visibleItems,delete this.items,delete this.groups,delete this.renderedVisibleItems,delete this._mousewheelfunc,delete this._mousemovefunc,delete this._cachedItemHtml,delete this.itemsByValue,delete this._activeElement,delete this.source,delete this.events,this.input&&(this.input.remove(),delete this.input),b&&delete b.instance,this.host.removeData(),this.host.removeClass(),this.host.remove(),this.element=null,delete this.element,this.host=null,delete this.set,delete this.get,delete this.call,delete this.host},_raiseEvent:function(b,c){if(1==this._stopEvents)return!0;void 0==c&&(c={owner:null});var d=this.events[b];args=c,args.owner=this,this._updateInputSelection();var e=new a.Event(d);if(e.owner=this,e.args=args,null!=this.host)var f=this.host.trigger(e);return f}})}(jqxBaseFramework),function(a){a.jqx.parseSourceTag=function(b){var c=new Array,d=a(b).find("option"),e=a(b).find("optgroup"),f=!1;0===d.length&&(d=a(b).find("li"),d.length>0&&(f=!0));var g=null,g=-1,h=new Array;if(a.each(d,function(b){var d=e.find(this).length>0,i=null;null==this.text||null!=this.label&&""!=this.label||(this.label=this.text),f===!0&&(this.label=a(this).text(),this.selected=a(this).attr("data-selected"),this.checked=this.selected,this.value=a(this).attr("data-value")||b,this.disabled=a(this).attr("disabled"));var j={style:this.style.cssText,selected:this.selected,html:this.innerHTML,classes:this.className,disabled:this.disabled,value:this.value,label:this.label,title:this.title,originalItem:this},k=a.jqx.browser.msie&&a.jqx.browser.version<8;k&&!f&&""==j.value&&null!=this.text&&this.text.length>0&&(j.value=this.text),d&&(i=e.find(this).parent()[0].label,j.group=i,h[i]||(h[i]=new Array,h.length++),h[i].push(j)),this.selected&&(g=b),j.checked=this.selected,void 0!==j.label&&c.push(j)}),h.length>0){var i=new Array;for(var j in h)if("indexOf"!==j){for(var k=null,l=0;l<e.length;l++)if(j===e[l].label||e[l].text){k=e[l];break}a.each(h[j],function(a,b){void 0!==this.label&&i.push(this)})}}return i&&i.length>0?{items:i,index:g}:{items:c,index:g}},a.jqx._jqxListBox.item=function(){var a={group:"",groupHtml:"",selected:!1,isGroup:!1,highlighted:!1,value:null,label:"",html:null,visible:!0,disabled:!1,element:null,width:null,height:null,initialTop:null,top:null,left:null,title:"",index:-1,checkBoxElement:null,originalItem:null,checked:!1,visibleIndex:-1};return a}}(jqxBaseFramework);

mercurial