jQuery.fn.selectToUISlider=function(g){function l(a){return d.tooltipSrc=="text"?e[a].text:e[a].value}var h=jQuery(this),d=jQuery.extend({labels:3,tooltip:true,tooltipSrc:"text",labelSrc:"value",sliderOptions:null},g),o=function(){var a=[];h.each(function(){a.push("handle_"+jQuery(this).attr("id"))});return a}(),e=function(){var a=[];h.eq(0).find("option").each(function(){a.push({value:jQuery(this).attr("value"),text:jQuery(this).text()})});return a}(),k=function(){if(h.eq(0).find("optgroup").size()> 0){var a=[];h.eq(0).find("optgroup").each(function(b){a[b]={};a[b].label=jQuery(this).attr("label");a[b].options=[];jQuery(this).find("option").each(function(){a[b].options.push({text:jQuery(this).text(),value:jQuery(this).attr("value")})})});return a}else return null}(),i={step:1,min:0,orientation:"horizontal",max:e.length-1,range:h.length>1,slide:function(a,b){var c=jQuery(b.handle),j=l(b.value);c.attr("aria-valuetext",j).attr("aria-valuenow",b.value).find(".ui-slider-tooltip .ttContent").text(j); jQuery("#"+c.attr("id").split("handle_")[1]).find("option").eq(b.value).attr("selected","selected")},values:function(){var a=[];h.each(function(){a.push(jQuery(this).get(0).selectedIndex)});return a}()};d.sliderOptions=g?jQuery.extend(i,g.sliderOptions):i;h.bind("change keyup click",function(){var a=jQuery(this).get(0).selectedIndex,b=jQuery("#handle_"+jQuery(this).attr("id")),c=b.data("handleNum");b.parents(".ui-slider:eq(0)").slider("values",c,a)});var f=jQuery("<div></div>");h.each(function(a){var b= "",c=jQuery("label[for="+jQuery(this).attr("id")+"]"),j=c.size()>0?"Slider control for "+c.text()+"":"";c=c.attr("id")||c.attr("id","label_"+o[a]).attr("id");if(d.tooltip==false)b=' style="display: none;"';jQuery('<a href="#" tabindex="0" id="'+o[a]+'" class="ui-slider-handle" role="slider" aria-labelledby="'+c+'" aria-valuemin="'+d.sliderOptions.min+'" aria-valuemax="'+d.sliderOptions.max+'" aria-valuenow="'+d.sliderOptions.values[a]+'" aria-valuetext="'+l(d.sliderOptions.values[a])+'" ><span class="screenReaderContext">'+ j+'</span><span class="ui-slider-tooltip ui-widget-content ui-corner-all"'+b+'><span class="ttContent"></span><span class="ui-tooltip-pointer-down ui-widget-content"><span class="ui-tooltip-pointer-down-inner"></span></span></span></a>').data("handleNum",a).appendTo(f)});if(k){var m=0,n=f.append('<dl class="ui-slider-scale ui-helper-reset" role="presentation"></dl>').find(".ui-slider-scale:eq(0)");jQuery(k).each(function(a){n.append('<dt style="width: '+(100/k.length).toFixed(2)+"%; left:"+(a/(k.length- 1)*100).toFixed(2)+'%"><span>'+this.label+"</span></dt>");var b=this.options;jQuery(this.options).each(function(c){var j=m==e.length-1||m==0?'style="display: none;"':"";c=d.labelSrc=="text"?b[c].text:b[c].value;n.append('<dd style="left:'+((m/(e.length-1)*100).toFixed(2)+"%")+'"><span class="ui-slider-label">'+c+'</span><span class="ui-slider-tic ui-widget-content"'+j+"></span></dd>");m++})})}else{n=f.append('<ol class="ui-slider-scale ui-helper-reset" role="presentation"></ol>').find(".ui-slider-scale:eq(0)"); jQuery(e).each(function(a){var b=a==e.length-1||a==0?'style="display: none;"':"",c=d.labelSrc=="text"?this.text:this.value;n.append('<li style="left:'+((a/(e.length-1)*100).toFixed(2)+"%")+'"><span class="ui-slider-label">'+c+'</span><span class="ui-slider-tic ui-widget-content"'+b+"></span></li>")})}d.labels>1&&f.find(".ui-slider-scale li:last span.ui-slider-label, .ui-slider-scale dd:last span.ui-slider-label").addClass("ui-slider-label-show");g=Math.max(1,Math.round(e.length/d.labels));for(i=0;i< e.length;i+=g)e.length-i>g&&f.find(".ui-slider-scale li:eq("+i+") span.ui-slider-label, .ui-slider-scale dd:eq("+i+") span.ui-slider-label").addClass("ui-slider-label-show");f.find(".ui-slider-scale dt").each(function(a){jQuery(this).css({left:(100/k.length*a).toFixed(2)+"%"})});f.insertAfter(jQuery(this).eq(this.length-1)).slider(d.sliderOptions).attr("role","application").find(".ui-slider-label").each(function(){jQuery(this).css("marginLeft",-jQuery(this).width()/2)});f.find(".ui-tooltip-pointer-down-inner").each(function(){var a= jQuery(".ui-tooltip-pointer-down-inner").css("borderTopWidth"),b=jQuery(this).parents(".ui-slider-tooltip").css("backgroundColor");jQuery(this).css("border-top",a+" solid "+b)});g=f.slider("values");g.constructor==Array?jQuery(g).each(function(a){f.find(".ui-slider-tooltip .ttContent").eq(a).text(l(this))}):f.find(".ui-slider-tooltip .ttContent").eq(0).text(l(g));return this};