89 lines
2.2 KiB
JavaScript
89 lines
2.2 KiB
JavaScript
var NS4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) < 5);
|
|
|
|
function addOption(theSel, theText, theValue) {
|
|
var newOpt = new Option(theText, theValue);
|
|
var selLength = theSel.length;
|
|
theSel.options[selLength] = newOpt;
|
|
}
|
|
|
|
function swapOptions(theSel, index1, index2) {
|
|
var text, value;
|
|
text = theSel.options[index1].text;
|
|
value = theSel.options[index1].value;
|
|
theSel.options[index1].text = theSel.options[index2].text;
|
|
theSel.options[index1].value = theSel.options[index2].value;
|
|
theSel.options[index2].text = text;
|
|
theSel.options[index2].value = value;
|
|
}
|
|
|
|
function deleteOption(theSel, theIndex) {
|
|
var selLength = theSel.length;
|
|
if (selLength > 0) {
|
|
theSel.options[theIndex] = null;
|
|
}
|
|
}
|
|
|
|
function moveOptions(theSelFrom, theSelTo) {
|
|
var selLength = theSelFrom.length;
|
|
var selectedText = new Array();
|
|
var selectedValues = new Array();
|
|
var selectedCount = 0;
|
|
var i;
|
|
for (i = selLength - 1; i >= 0; i--) {
|
|
if (theSelFrom.options[i].selected) {
|
|
selectedText[selectedCount] = theSelFrom.options[i].text;
|
|
selectedValues[selectedCount] = theSelFrom.options[i].value;
|
|
deleteOption(theSelFrom, i);
|
|
selectedCount++;
|
|
}
|
|
}
|
|
for (i = selectedCount - 1; i >= 0; i--) {
|
|
addOption(theSelTo, selectedText[i], selectedValues[i]);
|
|
}
|
|
if (NS4) history.go(0);
|
|
}
|
|
|
|
function moveOptionUp(theSel) {
|
|
var index = theSel.selectedIndex;
|
|
if (index > 0) {
|
|
swapOptions(theSel, index-1, index);
|
|
theSel.selectedIndex = index-1;
|
|
}
|
|
}
|
|
|
|
function moveOptionTop(theSel) {
|
|
var index = theSel.selectedIndex;
|
|
|
|
if (index > 0) {
|
|
for (i=index; i>0; i--) {
|
|
swapOptions(theSel, i-1, i);
|
|
}
|
|
theSel.selectedIndex = 0;
|
|
}
|
|
}
|
|
|
|
function moveOptionDown(theSel) {
|
|
var index = theSel.selectedIndex;
|
|
if (index < theSel.length - 1) {
|
|
swapOptions(theSel, index, index+1);
|
|
theSel.selectedIndex = index+1;
|
|
}
|
|
}
|
|
|
|
function moveOptionBottom(theSel) {
|
|
var index = theSel.selectedIndex;
|
|
var indexTop = theSel.length - 1;
|
|
if (index < theSel.length - 1) {
|
|
for (i=index; i<indexTop; i++) {
|
|
swapOptions(theSel, i+1, i);
|
|
}
|
|
theSel.selectedIndex = indexTop;
|
|
}
|
|
}
|
|
|
|
// OK
|
|
function selectAllOptions(id) {
|
|
var select = $('#'+id);
|
|
select.children('option').attr('selected', true);
|
|
}
|