[b]switch.js[/b] Array.prototype.in_array = function (element) // Thanks to Haytjes { var retur = false; for (var values in this) { if (this[values] == element) { retur = true; break; } } return retur; }; function transport(form, source, target) { var Items = new Array(); var Index = new Array(); var T_Items = new Array(); for( var i = 0 ; i < document.forms[form].elements[target].length ; i++) { T_Items[ T_Items.length ] = document.forms[form].elements[target].options[i].value; } //put in array for( var i = 0 ; i < document.forms[form].elements[source].length ; i++ ) { if(document.forms[form].elements[source].options[i].selected) { Items[ Items.length ] = new Array( document.forms[form].elements[source].options[i].text , document.forms[form].elements[source].options[i].value); Index[ Index.length ] = i; } } //put the values in the target :D for( var i = 0 ; i < Items.length ; i++ ) { if(T_Items.in_array(Items[i]) == false) { document.forms[form].elements[target].options[ document.forms[form].elements[target].length ] = new Option( Items[i][0] , Items[i][1] ); } } //destroy in the source for( var i = Index.length ; i > 0 ; i-- ) { document.forms[form].elements[source].remove( Index[i-1] ); } } [b]Voorbeeld.htm[/b]
Good Stuff   Bad Stuff