function selectUnselectMatchingOptions(g,f,h,a){if(window.RegExp){if(h=="select"){var e=true;var c=false}else{if(h=="unselect"){var e=false;var c=true}else{return}}var d=new RegExp(f);for(var b=0;b<g.options.length;b++){if(d.test(g.options[b].text)){g.options[b].selected=e}else{if(a==true){g.options[b].selected=c}}}}}function selectMatchingOptions(b,a){selectUnselectMatchingOptions(b,a,"select",false)}function selectOnlyMatchingOptions(b,a){selectUnselectMatchingOptions(b,a,"select",true)}function unSelectMatchingOptions(b,a){selectUnselectMatchingOptions(b,a,"unselect",false)}function sortSelect(b){var c=new Array();if(b.options==null){return}for(var a=0;a<b.options.length;a++){c[c.length]=new Option(b.options[a].text,b.options[a].value,b.options[a].defaultSelected,b.options[a].selected)}if(c.length==0){return}c=c.sort(function(e,d){if((e.text+"")<(d.text+"")){return -1}if((e.text+"")>(d.text+"")){return 1}return 0});for(var a=0;a<c.length;a++){b.options[a]=new Option(c[a].text,c[a].value,c[a].defaultSelected,c[a].selected)}}function selectAllOptions(b){for(var a=0;a<b.options.length;a++){b.options[a].selected=true}}function moveSelectedOptions(g,f){if(arguments.length>3){var b=arguments[3];if(b!=""){unSelectMatchingOptions(g,b)}}for(var a=0;a<g.options.length;a++){var e=g.options[a];if(e.selected){var d=false;for(var c=0;c<f.options.length;c++){if(f.options[c].value==e.value){d=true}}if(d==false){f.options[f.options.length]=new Option(e.text,e.value,false,false)}}}for(var a=(g.options.length-1);a>=0;a--){var e=g.options[a];if(e.selected){g.options[a]=null}}if((arguments.length<3)||(arguments[2]==true)){sortSelect(g);sortSelect(f)}g.selectedIndex=-1;f.selectedIndex=-1}function copySelectedOptions(e,d){var a=new Object();for(var b=0;b<d.options.length;b++){a[d.options[b].text]=true}for(var b=0;b<e.options.length;b++){var c=e.options[b];if(c.selected){if(a[c.text]==null||a[c.text]=="undefined"){d.options[d.options.length]=new Option(c.text,c.value,false,false)}}}if((arguments.length<3)||(arguments[2]==true)){sortSelect(d)}e.selectedIndex=-1;d.selectedIndex=-1}function moveAllOptions(b,a){selectAllOptions(b);if(arguments.length==2){moveSelectedOptions(b,a)}else{if(arguments.length==3){moveSelectedOptions(b,a,arguments[2])}else{if(arguments.length==4){moveSelectedOptions(b,a,arguments[2],arguments[3])}}}}function copyAllOptions(b,a){selectAllOptions(b);if(arguments.length==2){copySelectedOptions(b,a)}else{if(arguments.length==3){copySelectedOptions(b,a,arguments[2])}}}function swapOptions(f,e,c){var h=f.options;var b=h[e].selected;var d=h[c].selected;var a=new Option(h[e].text,h[e].value,h[e].defaultSelected,h[e].selected);var g=new Option(h[c].text,h[c].value,h[c].defaultSelected,h[c].selected);h[e]=g;h[c]=a;h[e].selected=d;h[c].selected=b}function moveOptionUp(c){var a=0;for(b=0;b<c.options.length;b++){if(c.options[b].selected){a++}}if(a!=1){return}var b=c.selectedIndex;if(b==0){return}swapOptions(c,b,b-1);c.options[b-1].selected=true}function moveOptionDown(c){var a=0;for(b=0;b<c.options.length;b++){if(c.options[b].selected){a++}}if(a!=1){return}var b=c.selectedIndex;if(b==(c.options.length-1)){return}swapOptions(c,b,b+1);c.options[b+1].selected=true}function removeSelectedOptions(c){for(var a=(c.options.length-1);a>=0;a--){var b=c.options[a];if(b.selected){c.options[a]=null}}c.selectedIndex=-1};
