;(function(e){var k=!0,l={headerSelector:"dt",zIndex:1},m=function(){var b=e(this),a=b.data("list");a&&(a.fakeHeader.width(a.headers.width()),a.wrapper.css("maxHeight",b.css("maxHeight")))},n=function(){var b=e(this),a=b.data("list");if(a){var d=null,c=a.headers.eq(a.currentHeader),i=a.currentHeader>=a.headers.length-1?null:a.headers.eq(a.currentHeader+1),f=0>=a.currentHeader?null:a.headers.eq(a.currentHeader-1),h=!1;a.containerTop=b.offset().top+parseInt(b.css("marginTop"),10)+parseInt(b.css("borderTopWidth"), 10);a.fakeHeader.css("top",0);if(null!==f){var g=c.offset().top,c=c.outerHeight();g>a.containerTop&&(a.fakeHeader.css("top",g-c-a.containerTop),a.fakeHeader.html(f.html()),a.currentHeader-=1,h=!0);g-c>a.containerTop&&(a.fakeHeader.css("top",0),d=a.currentHeader-1)}null!==i&&(g=i.offset().top,c=i.outerHeight(),g-c=a.wrapper.prop("scrollHeight")-a.wrapper.height();(h||d||a.max&&!d)&&b.trigger("headingChange",[a.currentHeader,a.headers.eq(a.currentHeader),d]);a.max=d;b.data("list",a)}},j={init:function(b){return e(this).each(function(){var a=e.extend({},l);"object"==typeof b&&e.extend(a,b);var d=e(this),c=d.data("list");c||(c={target:d,wrapper:d.wrapInner('
').find(".ui-list"),settings:a,headers:[],containerTop:0,currentHeader:0,fakeHeader:null,scrolllist:[], original:{position:"",overflowX:"",overflowY:""},max:!1},d.addClass("-list-container").css({position:"absolute"==d.css("position")?"absolute":"relative",overflowY:"hidden"}),c.headers=d.find(c.settings.headerSelector),c.fakeHeader=c.headers.eq(0).clone().removeAttr("id").addClass("-list-fakeheader").replaceWith('
'+c.headers.eq(0).html()+"
"),c.wrapper.bind("scroll.list",e.proxy(n,d)).css({height:"100%",maxHeight:d.css("maxHeight"),overflowY:"scroll",position:"relative"}), c.fakeHeader.css({position:"absolute",top:0,width:c.headers.width(),zIndex:c.settings.zIndex}),e(window).bind("resize.list",e.proxy(m,d)),d.data("list",c).prepend(c.fakeHeader))})},header:function(){var b=e(this).data("list");if(b)return b.currentHeader},scrollTo:function(b,a,d,c){return this.each(function(){var i=e(this),f=i.data("list");if(f&&void 0!==b&&!isNaN(b)&&0<=b&&b