function DualListBoxCopy(leftListBox,rightListBox,hiddenInput,isSelected,copyAll,sortItems){if(copyAll){if(isSelected)CopyAllListBoxItems(leftListBox,rightListBox);else CopyAllListBoxItems(rightListBox,leftListBox);}else{if(isSelected)CopySelectedListBoxItems(leftListBox,rightListBox,sortItems);else CopySelectedListBoxItems(rightListBox,leftListBox,sortItems);}BuildHiddenSelectedValues(rightListBox,hiddenInput);}function DualListBoxMove(leftListBox,rightListBox,hiddenInput,isSelected,moveAll,sortItems){if(moveAll){if(isSelected)MoveAllListBoxItems(leftListBox,rightListBox,sortItems);else MoveAllListBoxItems(rightListBox,leftListBox,sortItems);}else{if(isSelected)MoveSelectedListBoxItems(leftListBox,rightListBox,sortItems);else MoveSelectedListBoxItems(rightListBox,leftListBox,sortItems);}BuildHiddenSelectedValues(rightListBox,hiddenInput);}function DualListBoxRemove(leftListBox,rightListBox,hiddenInput,isSelected,removeAll,sortItems){if(removeAll){if(isSelected)RemoveAllListBoxItems(leftListBox);else RemoveAllListBoxItems(rightListBox);}else{if(isSelected)RemoveSelectedListBoxItems(leftListBox,sortItems);else RemoveSelectedListBoxItems(rightListBox,sortItems);}BuildHiddenSelectedValues(rightListBox,hiddenInput);}function InitializeSelectedItems(leftListBox,rightListBox,hiddenInput,sortItems,copyOnly){var HiddenValue=hiddenInput.value;if(HiddenValue){if(copyOnly)CopySpecifiedListBoxItems(leftListBox,rightListBox,HiddenValue.split(","),sortItems);else MoveSpecifiedListBoxItems(leftListBox,rightListBox,HiddenValue.split(","),sortItems);}}function BuildHiddenSelectedValues(listBox,hiddenInput){hiddenInput.value="";if(listBox.length>0){for(i=0;i<listBox.length-1;i++)hiddenInput.value+=listBox.options[i].value+",";hiddenInput.value+=listBox.options[listBox.length-1].value;}}function FindValue(arrayToSearch,valueToFind,keyToFind,searchByIndex){if(valueToFind){if(searchByIndex){for(i=0;i<arrayToSearch.length;i++){if(valueToFind==arrayToSearch[i])return true;}}else if(keyToFind){var Element=arrayToSearch[keyToFind];if(Element&&Element==valueToFind)return true;}}return false;}function CopyAllListBoxItems(fromListBox,toListBox){toListBox.length=0;for(i=0;i<fromListBox.length;i++){var newOption=new Option();newOption.value=fromListBox.options[i].value;newOption.text=fromListBox.options[i].text;toListBox[i]=newOption;}}function CopySelectedListBoxItems(fromListBox,toListBox,sortItems){var arrTo=new Array();var arrValues=new Array();var i;for(i=0;i<toListBox.length;i++){arrValues[toListBox.options[i].text]=toListBox.options[i].value;arrTo[i]=toListBox.options[i].text;}var option;var toLength=arrTo.length;for(i=0;i<fromListBox.length;i++){option=fromListBox.options[i];if(option.selected&&option.value!=""&&!FindValue(arrValues,option.value,option.text,false)){arrValues[option.text]=option.value;arrTo[toLength]=option.text;toLength++;}}if(sortItems){arrTo.sort();}toListBox.length=0;for(i=0;i<arrTo.length;i++){var newOption=new Option();newOption.value=arrValues[arrTo[i]];newOption.text=arrTo[i];toListBox[i]=newOption;}}function CopySpecifiedListBoxItems(fromListBox,toListBox,itemValuesToCopy,sortItems){var arrTo=new Array();var arrValues=new Array();var i;for(i=0;i<toListBox.length;i++){arrValues[toListBox.options[i].text]=toListBox.options[i].value;arrTo[i]=toListBox.options[i].text;}var fromLength=0;var toLength=arrTo.length;for(i=0;i<fromListBox.length;i++){if(fromListBox.options[i].value!=""&&FindValue(itemValuesToCopy,fromListBox.options[i].value,null,true)){arrValues[fromListBox.options[i].text]=fromListBox.options[i].value;arrTo[toLength]=fromListBox.options[i].text;toLength++;}}if(sortItems){arrTo.sort();}toListBox.length=0;for(i=0;i<arrTo.length;i++){var newOption=new Option();newOption.value=arrValues[arrTo[i]];newOption.text=arrTo[i];toListBox[i]=newOption;}}function MoveAllListBoxItems(fromListBox,toListBox,sortItems){var arrTo=new Array();var arrValues=new Array();var i;for(i=0;i<toListBox.length;i++){arrValues[toListBox.options[i].text]=toListBox.options[i].value;arrTo[i]=toListBox.options[i].text;}var toLength=arrTo.length;for(i=0;i<fromListBox.length;i++){arrValues[fromListBox.options[i].text]=fromListBox.options[i].value;arrTo[i+toLength]=fromListBox.options[i].text;}if(sortItems){arrTo.sort();}fromListBox.length=0;toListBox.length=0;for(i=0;i<arrTo.length;i++){var newOption=new Option();newOption.value=arrValues[arrTo[i]];newOption.text=arrTo[i];toListBox[i]=newOption;}}function MoveSelectedListBoxItems(fromListBox,toListBox,sortItems){var arrFrom=new Array();var arrTo=new Array();var arrValues=new Array();var i;for(i=0;i<toListBox.length;i++){arrValues[toListBox.options[i].text]=toListBox.options[i].value;arrTo[i]=toListBox.options[i].text;}var fromLength=0;var toLength=arrTo.length;for(i=0;i<fromListBox.length;i++){arrValues[fromListBox.options[i].text]=fromListBox.options[i].value;if(fromListBox.options[i].selected&&fromListBox.options[i].value!=""){arrTo[toLength]=fromListBox.options[i].text;toLength++;}else{arrFrom[fromLength]=fromListBox.options[i].text;fromLength++;}}if(sortItems){arrFrom.sort();arrTo.sort();}fromListBox.length=0;toListBox.length=0;for(i=0;i<arrFrom.length;i++){var newOption=new Option();newOption.value=arrValues[arrFrom[i]];newOption.text=arrFrom[i];fromListBox[i]=newOption;}for(i=0;i<arrTo.length;i++){var newOption=new Option();newOption.value=arrValues[arrTo[i]];newOption.text=arrTo[i];toListBox[i]=newOption;}}function MoveSpecifiedListBoxItems(fromListBox,toListBox,itemValuesToMove,sortItems){var arrFrom=new Array();var arrTo=new Array();var arrValues=new Array();var i;for(i=0;i<toListBox.length;i++){arrValues[toListBox.options[i].text]=toListBox.options[i].value;arrTo[i]=toListBox.options[i].text;}var fromLength=0;var toLength=arrTo.length;for(i=0;i<fromListBox.length;i++){arrValues[fromListBox.options[i].text]=fromListBox.options[i].value;if(fromListBox.options[i].value!=""&&FindValue(itemValuesToMove,fromListBox.options[i].value,null,true)){arrTo[toLength]=fromListBox.options[i].text;toLength++;}else{arrFrom[fromLength]=fromListBox.options[i].text;fromLength++;}}if(sortItems){arrFrom.sort();arrTo.sort();}fromListBox.length=0;toListBox.length=0;for(i=0;i<arrFrom.length;i++){var newOption=new Option();newOption.value=arrValues[arrFrom[i]];newOption.text=arrFrom[i];fromListBox[i]=newOption;}for(i=0;i<arrTo.length;i++){var newOption=new Option();newOption.value=arrValues[arrTo[i]];newOption.text=arrTo[i];toListBox[i]=newOption;}}function RemoveAllListBoxItems(listBox){listBox.length=0;}function RemoveSelectedListBoxItems(listBox,sortItems){var arrFrom=new Array();var arrValues=new Array();var i;var fromLength=0;for(i=0;i<listBox.length;i++){if(!listBox.options[i].selected&&listBox.options[i].value!=""){arrValues[listBox.options[i].text]=listBox.options[i].value;arrFrom[fromLength]=listBox.options[i].text;fromLength++;}}if(sortItems){arrFrom.sort();}listBox.length=0;for(i=0;i<arrFrom.length;i++){var newOption=new Option();newOption.value=arrValues[arrFrom[i]];newOption.text=arrFrom[i];listBox[i]=newOption;}}