(function(f){var g=function(m,l){var n=0;f.each(l.split(/\s+/)||[],function(p,o){n+=parseInt(f(m).css(o))||0});return n};var k=function(l){return g(l,"paddingLeft paddingRight")};var a=function(l){return g(l,"paddingTop paddingBottom")};var i=function(l){return k(l)+g(l,"marginLeft marginRight borderLeftWidth borderRightWidth")};var c=function(l){return k(l)+g(l,"marginTop marginBottom borderTopWidth borderBottomWidth")};var b={position:"absolute",visibility:"hidden",display:"block"};function h(o,q){var t=0,u=b,m=f(o),o=m[0],l;function s(){t=q.call(o)}function n(z,w,A){var p={};for(var v in w){p[v]=z.style[v];z.style[v]=w[v]}A.call(z);for(var v in w){z.style[v]=p[v]}}if(o.offsetWidth!==0){s()}else{if(m.is(":hidden")){l=m.add(m.parents(":hidden"))}else{l=m.parents(":hidden")}for(var r=l.length-1;r>=0;r--){n(l[r],u,s);if(t>0){break}}}return Math.max(0,Math.round(t))}function d(q,p){var m=0,o=["fontSize","fontFamily","fontWeight","lineHeight"],l={},r;if(f(q).is(":visible")){m=p.call(q);return m}r=f(q).clone();for(var n=0;n<o.length;n++){l[o[n]]=r[0].style[o[n]]}r.appendTo("body").css({position:"absolute",visibility:"hidden"}).show();m=p.call(r);r.remove();return m}f.fn.dropdown=function(n){var l=(typeof n=="string"),m=Array.prototype.slice.call(arguments,1);return this.each(function(){var o=f(this).data("dropdown");if(l&&o&&f.isFunction(o[n])){o[n].apply(o,m)}else{if(!o){f(this).data("dropdown",new f.dropdown(this,n))}}})};var j=f.dropdown=function(m,l){this.element=f(m);this.options=f.extend(true,{},f.dropdown.defaults,l);this.init()};f.extend(f.dropdown.prototype,{init:function(){if(f(this.element).is("select")){this.select=this.element;f(this.select).wrap("<div class='dropdown'></div>");this.control=f(this.select).parent()}else{this.select=f("select:eq(0)",this.element);if(!this.select.length){return}this.select=this.select[0];f(this.element).addClass("dropdown");this.control=f(this.element)}this.initControl()},initControl:function(){var m,l,o,n={};this.control.append(f("<div class='dropdown-result-container'><div class='dropdown-result'></div></div><div class='dropdown-arrow-container'><a class='dropdown-arrow'></a></div>"));this.resultContainer=f(".dropdown-result-container",this.control);this.arrowContainer=f(".dropdown-arrow-container",this.control);this.arrow=f(".dropdown-arrow",this.arrowContainer);this.result=f(".dropdown-result",this.resultContainer);this.resize();this.result.html(f("option:selected",this.select).html());this.initEvents();f.dropdown.bind_html_click()},resize:function(l,n,o){var m;m=parseInt(this.arrowContainer.css("width"),10)||0;m+=i(this.arrowContainer);this.selectWidth=d(this.select,function(){return f(this).outerWidth()||0})+8;this.selectMargin={marginLeft:parseInt(this.select.css("marginleft"))||0,marginRight:parseInt(this.select.css("marginRight"))||0,marginTop:parseInt(this.select.css("marginTop"))||0,marginBottom:parseInt(this.select.css("marginBottom"))||0};this.select.css({visibility:"hidden",position:"absolute",left:0,top:"-99999em"});this.resultContainer.show();this.arrowContainer.show();this.resultContainer.css("width","");this.result.css("width","");this.control.css({width:"",margin:0});l=this.selectWidth-i(this.control);this.control.css({width:l+"px",marginLeft:this.selectMargin.marginLeft+"px",marginTop:this.selectMargin.marginTop+"px",marginRight:this.selectMargin.marginRight+"px",marginBottom:this.selectMargin.marginBottom+"px"});l-=m;l-=i(this.resultContainer);this.resultContainer.css({width:l+"px"});l-=i(this.result);this.result.css({width:l+"px"});this.resultContainerHeight=this.resultContainer.outerHeight()},reInitList:function(){var l,q,r,p,o,m,s;this.select_options=f("option",this.select);if(!this.select_options.length>0){return}this.itemsValue=[];this.listContainer=f("<div class='dropdown-list-container'><div class='dropdown-list-wrapper'><ul class='dropdown-list'></ul></div></div>");this.listWrapper=f(".dropdown-list-wrapper",this.listContainer);o=f(".dropdown-list",this.listContainer);for(m=0,s=this.select_options.length;m<s;m++){option=f(this.select_options[m]);q=option.text();r=option.attr("value")||"";p=[];(this.select_options[m].disabled&&p.push("disabled"));(this.select_options[m].selected&&p.push("selected"));o.append(f("<li class='"+p.join(" ")+"'/>").append(f("<a />").attr({href:"#",title:q}).text(q)));this.itemsValue[m]=r}this.list=o;this.listItems=f("li",this.list);if(!this.listItems.filter(".selected")){f(this.listItems[0]).addClass("selected")}this.current=this.initial=f(this.listItems.filter(".selected")[0]);this.initialValue=this.getItemValue(this.initial);this.setValue(this.getItemValue(this.current));this.listContainer.css({fontSize:this.select.css("fontSize"),fontFamily:this.select.css("fontFamily"),lineHeight:this.select.css("lineHeight")}).appendTo("body").hide();(function(n){n.listContainer.bind("click",function(u){var t=n.listItems.index(f(u.target).parent());if(t>=0){n.setValue.call(n,n.getItemValue(n.listItems[t]));f.dropdown.hideDropdown(n);return false}})})(this)},initList:function(){this.reInitList();this.initList=function(){}},initEvents:function(){var l=this;this.arrow.bind("click.dropdown",function(m){f.dropdown.showDropdown(l,m);m.preventDefault();return false});this.resultContainer.bind("dblclick.dropdown",function(m){try{window.getSelection().collapseToStart();document.selection.clear()}catch(n){}f.dropdown.showDropdown(l,m);m.preventDefault();return false});l.bySetValue=false;f(this.select).bind("change.dropdown",function(n){if(l.bySetValue){}else{var m=this.value||"";l.setValue.call(l,m)}});if(f(this.select).parents("form").length){f(this.select).parents("form").bind("reset",function(){l.setValue.call(l,l.initialValue)})}l.control.bind({mouseover:function(){l.control.addClass("dropdown-hover")},mouseout:function(){l.control.removeClass("dropdown-hover")}})},setValue:function(o){var u,p,s,m,l,q,v;if(o==undefined){return}for(s=0,m=this.itemsValue.length;s<m;s++){if(this.itemsValue[s]==o){u=s;break}}q=false;this.bySetValue=true;p=this.listItems.index(this.current);f(this.listItems).removeClass("selected");if(u>-1&&u!=p){this.current=f(this.listItems[u]);if(this.select[0].value!=o){q=true}this.select[0].value=o}if(u>-1){f(this.listItems[u]).addClass("selected");v=f(this.listItems[u]).text();l=f("<span />").text(v).attr("title",v);if(o==this.initialValue){l.addClass("initialValue")}if(o==""){l.addClass("emptyValue")}this.result.html("").append(l)}if(q){f(this.select).trigger("keyup");if(f.browser.msie){this.select[0].oldOnChange=this.select[0].onchange;this.select[0].onchange=null}this.select.trigger("change");if(f.browser.msie){this.select[0].onchange=this.select[0].oldOnChange;this.select[0].oldOnChange=null;var t=document.createEventObject();t.srcElement=this.select[0];t.target=this.select[0];this.select[0].fireEvent("onchange",t)}}this.bySetValue=false},getItemValue:function(m){var l;if(!m){return undefined}l=this.listItems.index(m);if(l>-1&&l<this.itemsValue.length){return this.itemsValue[l]}return undefined}});f.extend(f.dropdown,{defaults:{}});f.extend(f.dropdown,{getPageSize:function(){var t,r;if(window.innerHeight&&window.scrollMaxY){t=window.innerWidth+window.scrollMaxX;r=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){t=document.body.scrollWidth;r=document.body.scrollHeight}else{t=document.body.offsetWidth;r=document.body.offsetHeight}}var o,l;if(self.innerHeight){if(document.documentElement.clientWidth){o=document.documentElement.clientWidth}else{o=self.innerWidth}l=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){o=document.documentElement.clientWidth;l=document.documentElement.clientHeight}else{if(document.body){o=document.body.clientWidth;l=document.body.clientHeight}}}if(r<l){pageHeight=l}else{pageHeight=r}if(t<o){pageWidth=t}else{pageWidth=o}var p;var n;var s;var m;if(pageWidth>=o){p=pageWidth;s=o}else{p=o;s=pageWidth}if(pageHeight>=l){n=pageHeight;m=l}else{n=l;m=pageHeight}var q={pageWidth:pageWidth,pageHeight:pageHeight,windowWidth:o,windowHeight:l,largestWidth:p,largestHeight:n};return q},getPageScroll:function(){var n,l;if(self.pageYOffset){l=self.pageYOffset;n=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollTop){l=document.documentElement.scrollTop;n=document.documentElement.scrollLeft}else{if(document.body){l=document.body.scrollTop;n=document.body.scrollLeft}}}var m={xScroll:n,yScroll:l};return m},bind_html_click:function(){f("html").unbind("mousedown.dropdown").bind("mousedown.dropdown",function(m){var l;if(f(".dropdown-list-container-show").length>0){if(f(m.target).closest(".dropdown-list-container-show").length<1){f(".dropdown-list-container-show").removeClass("dropdown-list-container-show").hide();f(".dropdown-active").removeClass("dropdown-active")}else{}m.preventDefault();m.stopPropagation();return false}});f.dropdown.bind_html_click=function(){}},showDropdown:function(m,l){m.initList();if(!m.firstTimeShow){f.dropdown.initListDimension(m);m.firstTimeShow=true}controlOffset=m.control.offset();x=controlOffset.left;y=controlOffset.top+m.resultContainerHeight;m.listContainer.css({left:x+"px",top:y+"px"}).show();if(m.useScrollPane){}m.listContainer.addClass("dropdown-list-container-show");m.control.addClass("dropdown-active")},hideDropdown:function(l){f(".dropdown-list-container-show").removeClass("dropdown-list-container-show").hide();f(".dropdown-active").removeClass("dropdown-active")},initListDimension:function(o){var m,l,n;o.listContainer.show();m=o.control.outerWidth();m-=i(o.listContainer);o.listContainer.css({width:m+"px",overflow:"hidden"});f.each([".dropdown-list-wrapper",".dropdown-list"],function(q,p){e=f(p,o.listContainer);m-=i(e)});o.listItems.each(function(){f("*",this).css("fontWeight","bold");l=m-i(this);n=f(this).innerHeight()-a(this);f("*",this).css("fontWeight","")});o.listWidth=o.list.outerWidth(true);o.listHeight=o.list.outerHeight(true);o.listOuterHSpace=o.listContainer.outerWidth(true)-o.listWidth;o.listOuterVSpace=o.listContainer.outerHeight(true)-o.listHeight;o.useScrollPane=false}})})(jQuery);(function(f){var g=function(n,m){var o=0;f.each(m.split(/\s+/)||[],function(q,p){o+=parseInt(f(n).css(p))||0});return o};var k=function(m){return g(m,"paddingLeft paddingRight")};var a=function(m){return g(m,"paddingTop paddingBottom")};var j=function(m){return k(m)+g(m,"marginLeft marginRight borderLeftWidth borderRightWidth")};var d=function(m){return k(m)+g(m,"marginTop marginBottom borderTopWidth borderBottomWidth")};var b={position:"absolute",visibility:"hidden",display:"block"};function h(q,r){var u=0,v=b,n=f(q),q=n[0],m;function t(){u=r.call(q)}function o(A,z,B){var p={};for(var w in z){p[w]=A.style[w];A.style[w]=z[w]}B.call(A);for(var w in z){A.style[w]=p[w]}}if(q.offsetWidth!==0){t()}else{if(n.is(":hidden")){m=n.add(n.parents(":hidden"))}else{m=n.parents(":hidden")}for(var s=m.length-1;s>=0;s--){o(m[s],v,t);if(u>0){break}}}return Math.max(0,Math.round(u))}f.fn.listbox=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n){var m=f(this[0]).data("listbox");if(m&&f.isFunction(m[p])){return m[p].apply(m,o)}else{return undefined}}return this.each(function(){var q=f(this).data("listbox");if(n&&q&&f.isFunction(q[p])){q[p].apply(q,o)}else{if(!q){f(this).data("listbox",new f.listbox(this,p))}}})};var l=function(n){var m={};f(["display","overflow","width","height"]).each(function(p,o){m[o]=n.css(o)});return m};var c=function(o,n){var m={};f.each(n,function(q,p){m[q]=p});o.css(m)};var i=f.listbox=function(n,m){this.element=f(n);this.options=f.extend(true,{},f.listbox.defaults,m);this.init()};f.extend(f.listbox.prototype,{init:function(){if(f(this.element).is("select")){this.select=this.element;f(this.select).wrap("<div class='listbox'></div>");this.control=f(this.select).parent()}else{this.select=f("select:eq(0)",this.element);if(!this.select.length){return}this.select=this.select[0];f(this.element).addClass("listbox");this.control=f(this.element)}this.initControl()},initControl:function(){this.initList();this.control.append(this.listContainer);this.resize();this.initEvents()},resize:function(m,n,o){var m,n;this.selectMargin={marginLeft:parseInt(this.select.css("marginleft"))||0,marginRight:parseInt(this.select.css("marginRight"))||0,marginTop:parseInt(this.select.css("marginTop"))||0,marginBottom:parseInt(this.select.css("marginBottom"))||0};if(this.control.is(".flowSize")&&m&&n){this.selectWidth=m;this.selectHeight=n}else{this.selectWidth=h(this.select,function(){return f(this).outerWidth()});this.selectHeight=h(this.select,function(){return f(this).outerHeight()})}this.select.css({visibility:"hidden",position:"absolute",left:0,top:"-99999em"});m=this.selectWidth-j(this.control);n=this.selectHeight-d(this.control);this.control.css({width:m+"px",height:n+"px",marginLeft:this.selectMargin.marginLeft+"px",marginTop:this.selectMargin.marginTop+"px",marginRight:this.selectMargin.marginRight+"px",marginBottom:this.selectMargin.marginBottom+"px"});m-=j(this.listContainer);n-=d(this.listContainer);this.listContainer.css({width:m+"px",height:n+"px"})},initList:function(){this.select_options=f("option",this.select);this.itemsValue=[];this.list=f("<ul class='listbox-list'>");this.listWrapper=f("<div class='listbox-list-wrapper' />");this.listContainer=f("<div class='listbox-list-container' />");this.listContainer.append(this.listWrapper.append(this.list));for(var p=0,s=this.select_options.length;p<s;p++){var q=f(this.select_options[p]),o=q.text(),r=q.attr("value")||"",m=[];(this.select_options[p].disabled&&m.push("disabled"));(this.select_options[p].selected&&m.push("selected"));this.list.append(f("<li class='"+m.join(" ")+"'/>").append(f("<a />").attr({href:"#",title:o}).text(o)));this.itemsValue.push(r)}this.listItems=f("li",this.list);this.listItems.disableSelection();this.useScrollPane=false},initEvents:function(){this.select.bind("change.listbox",f.proxy(this.selectChanged,this));if(this.select.parents("form").length){this.select.parents("form").bind("reset.listbox",f.proxy(this.selectChanged,this))}var m=this;this.listItems.bind("mousedown",function(n){m.onMousedown.call(m,n);n.stopPropagation();n.preventDefault()});f("a",this.listItems).bind("click",function(){return false})},selectChanged:function(o){for(var m=0,p=this.select_options.length;m<p;m++){if(this.select_options[m].selected){f(this.listItems[m]).addClass("selected")}else{f(this.listItems[m]).removeClass("selected")}}},triggerSelectChange:function(){this.select.trigger("keyup click");if(f.browser.msie){this.select[0].oldOnChange=this.select[0].onchange;this.select[0].onchange=null}this.select.trigger("change");if(f.browser.msie){this.select[0].onchange=this.select[0].oldOnChange;this.select[0].oldOnChange=null;var m=document.createEventObject();m.srcElement=this.select[0];m.target=this.select[0];this.select[0].fireEvent("onchange",m)}},clearSelections:function(m){this.listItems.removeClass("selected");this.select_options.removeAttr("selected");if(m!==true){this.triggerSelectChange()}},addSelections:function(q){var o=f(q);o.addClass("selected");for(var p=0,r=o.length;p<r;p++){var m=this.listItems.index(o[p]);if(m>=0&&this.select_options[m]){this.select_options[m].selected=true}}this.triggerSelectChange()},onMousedown:function(o){if(o.target){var n=f(o.target.parentNode),m=this.listItems.index(n);if(!o.shiftKey&&!o.ctrlKey){this.clearSelections(true);this.addSelections(n);this.lastClickedItem=n}else{if(o.shiftKey){if(!o.ctrlKey){this.clearSelections(true)}if(this.lastClickedItem){idxFrom=this.listItems.index(this.lastClickedItem);idxTo=this.listItems.index(n);if(idxFrom==idxTo){this.addSelections(n)}else{if(idxFrom<idxTo){this.addSelections(this.listItems.filter(":lt("+(idxTo+1)+")").not(":lt("+(idxFrom)+")"))}else{this.addSelections(this.listItems.filter(":lt("+(idxFrom+1)+")").not(":lt("+(idxTo)+")"))}}}else{this.addSelections(n);this.lastClickedItem=n}}else{if(o.ctrlKey){this.addSelections(n);this.lastClickedItem=n}}}}},setValue:function(p){var v,q,t,o,m,s,w;if(p==undefined){return}for(t=0,o=this.itemsValue.length;t<o;t++){if(this.itemsValue[t]==p){v=t;break}}s=false;this.bySetValue=true;q=this.listItems.index(this.current);f(this.listItems).removeClass("selected");if(v>-1&&v!=q){this.current=f(this.listItems[v]);if(this.select[0].value!=p){s=true}this.select[0].value=p}if(v>-1){f(this.listItems[v]).addClass("selected");w=f(this.listItems[v]).text();m=f("<span />").text(w).attr("title",w);if(p==this.initialValue){m.addClass("initialValue")}if(p==""){m.addClass("emptyValue")}this.result.html("").append(m)}if(s){f(this.select).trigger("keyup");if(f.browser.msie){this.select[0].oldOnChange=this.select[0].onchange;this.select[0].onchange=null}this.select.trigger("change");if(f.browser.msie){this.select[0].onchange=this.select[0].oldOnChange;this.select[0].oldOnChange=null;var u=document.createEventObject();u.srcElement=this.select[0];u.target=this.select[0];this.select[0].fireEvent("onchange",u)}}this.bySetValue=false},getItemValue:function(n){var m;if(!n){return undefined}m=this.listItems.index(n);if(m>-1&&m<this.itemsValue.length){return this.itemsValue[m]}return undefined}});f.extend(f.listbox,{defaults:{}})})(jQuery);
