Spider.multiplySelects=function(a){Spider.apply(this,a);this.__construct()};Spider.multiplySelects.prototype={h:null,editor:null,fbox:null,tbox:null,isSelectsVisible:false,isShowBtnVisible:false,domContainer:null,options:{},__construct:function(){if(!this.h){alert("Handler `h` not set")}if(!Spider.inpEditors[this.h]){alert("Editor not set")}this.editor=Spider.inpEditors[this.h];var a=this;this.createSelects()},createSelects:function(){var a=this;$("._"+this.h+" .outer").width($("._"+this.h+" .outer").width()-20);$("._"+this.h).css("position","relative").append('<span id="'+this.h+'-msel-handler"></span>').find("#"+this.h+"-msel-handler").css("position","absolute").css("display","inline-block").css("top","1px").css("right","0px").css("width","16px").css("height","16px").css("vertical-align","top").css("background","url(/images/inp/multiplySelects-inp-btn.gif) no-repeat").click(function(){if(!a.isSelectsVisible){a.showSelects()}else{a.hideSelects()}});$("._"+this.h+" .outer").focus(function(){a.hideSelects()});var b="";b+='<div id="'+this.h+'-msel" style="position: absolute; border: 1px outset #000; background: #fff; color: #000; padding: 5px;">';b+='<table width="100%" cellspacing="0" cellpadding="0" border="0">';b+="<tbody>";b+='<tr valign="top" align="left">';b+='<td align="right">';b+="<strong>Click to Select Towns</strong>:<br/>";b+='<select id="'+this.h+'-msel-fbox" style="width: 160px; font-size: 11px;" size="8">';b+="</select>";b+="</td>";b+='<td width="20" valign="middle" align="center"> <br/>';b+='<a id="'+this.h+'-msel-btn-add"><img vspace="4" hspace="4" border="0" alt="Add Selected Towns" style="cursor: pointer;" src="/images/msel-next.gif"/></a><br/>';b+='<a id="'+this.h+'-msel-btn-remove"><img vspace="4" hspace="4" border="0" alt="Remove Selected Towns" style="cursor: pointer;" src="/images/msel-back.gif"/></a>';b+="</td>";b+='<td align="left"><strong>Click to Remove Towns</strong>:<br/>';b+='<select id="'+this.h+'-msel-tbox" style="width: 160px; font-size: 11px;" size="8">';b+="</select>";b+="</td>";b+="</tr>";b+="</tbody>";b+="</table>";b+='<div align="right">';b+='<a id="'+this.h+'-msel-btn-done"><b>Done</b></a>';b+="&nbsp;&nbsp;&nbsp;";b+='<a id="'+this.h+'-msel-btn-cancel"><b>Cancel</b></a>';b+="</div>";b+="</div>";$("._"+this.h).append(b);for(key in this.options){if(typeof(this.options[key])!="string"){continue}$("#"+this.h+"-msel-fbox").append('<option value="'+key+'">'+this.options[key]+"</option>")}this.fbox=$("#"+this.h+"-msel-fbox").get(0);this.tbox=$("#"+this.h+"-msel-tbox").get(0);$("#"+this.h+"-msel-btn-add,#"+this.h+"-msel-fbox").dblclick(function(){a.addSelectedItems()});$("#"+this.h+"-msel-btn-remove,#"+this.h+"-msel-tbox").dblclick(function(){a.removeSelectedItems()});$("#"+this.h+"-msel-btn-done").click(function(){a.done()});$("#"+this.h+"-msel-btn-cancel").click(function(){a.hideSelects()});this.hideSelects()},done:function(){$("._"+this.h+" input").val(this.getOptString());this.hideSelects()},showHandler:function(){$("#"+this.h+"-msel-handler").show()},hideHandler:function(){$("#"+this.h+"-msel-handler").hide()},showSelects:function(){$("#"+this.h+"-msel").show();this.isSelectsVisible=true},hideSelects:function(){$("#"+this.h+"-msel").hide();this.isSelectsVisible=false},addSelectedItems:function(){if(this.fbox.selectedIndex==-1||this.fbox.options[this.fbox.selectedIndex].value==""){return}if(this.fbox.selectedIndex!=-1){this.move();this.removeItemByName(this.tbox,"Search All Towns");this.SortD(this.tbox)}},getOptString:function(){var b="";for(var a=0;a<this.tbox.options.length;a++){if(this.tbox.options[a].value!=""){b=b+this.tbox.options[a].text;if(a<this.tbox.options.length-1){b=b+", "}}}return b},removeSelectedItems:function(){for(var a=0;a<this.tbox.options.length;a++){if(this.tbox.options[a].selected&&this.tbox.options[a].value!=""){this.tbox.options[a].value="";this.tbox.options[a].text=""}}this.BumpUp(this.fbox);this.addItemByName(this.tbox,"Search All Towns")},addItemByName:function(a,b){if(a.options.length==0){var c=new Option();c.value=b;c.text=b;a.options[0]=c;a.length++}this.BumpUp(a)},removeItemByName:function(b,c){for(var a=0;a<b.options.length;a++){if(b.options[a].value==c||b.options[a].value=="None Selected"){b.options[a].value="";b.options[a].text=""}}this.BumpUp(b)},BumpUp:function(b){var a=0;while(a<b.options.length){if(b.options[a].value==""){b.options[a]=null}else{a++}}},SortD:function(d){var e=new Array();var b=new Object();for(var c=0;c<d.options.length;c++){e[c]=d.options[c]}for(var a=0;a<e.length-1;a++){for(var f=(a+1);f<e.length;f++){if(e[a].text>e[f].text){b=e[a].text;e[a].text=e[f].text;e[f].text=b;b=e[a].value;e[a].value=e[f].value;e[f].value=b}}}for(var c=0;c<d.options.length;c++){d.options[c].value=e[c].value;d.options[c].text=e[c].text}},move:function(){for(var b=0;b<this.fbox.options.length;b++){if(this.fbox.options[b].selected&&this.fbox.options[b].value!=""){var e=new Option();e.value=this.fbox.options[b].value;e.text=this.fbox.options[b].text;var a=this.tbox.length;var d=false;for(var c=0;c<a;c++){if(this.tbox.options[c]!=null){if(e.text==this.tbox.options[c].text){d=true;break}}}if(d!=true){this.tbox.options[this.tbox.options.length]=e;a++}}}this.SortD(this.tbox)}};
